gpt4 book ai didi

java - Swagger 注释不会产生预期的结果

转载 作者:行者123 更新时间:2023-11-30 10:16:45 25 4
gpt4 key购买 nike

当我们使用 ApiModelProperty 和示例定义字符串属性时,我的团队正在使用 swagger 注释 1.5.14 为文档生成 swagger 文件:

@ApiModelProperty(example="484799")
private String accountNumber;

这会生成输出:

"accountNumber": 484799

是否可以让它生成带有双引号示例值的帐号:

"accountNumber": "484799"

因为在查看示例时会更容易区分字符串值和数字值。

以下是我们目前已经尝试过的:

  1. 为双引号输入转义字符(示例 = "\"484799\"")
  2. 使用带有示例参数的 dataType = "java.lang.String"
  3. 在示例值中保留额外的空间。

我的环境:Java 1.8,swagger注解1.5.14,swagger 2

提前致谢

最佳答案

我找到了这个问题的原因,在Springfox库中,类Swagger2JacksonModule,有一个方法根据值检查:

 private boolean isNotJsonString(final String value) throws IOException {
// strictly speaking, should also test for equals("null") since {"example": null} would be valid JSON
// but swagger2 does not support null values
// and an example value of "null" probably does not make much sense anyway
return value.startsWith("{") // object
|| value.startsWith("[") // array
|| "true".equals(value) // true
|| "false".equals(value) // false
|| JSON_NUMBER_PATTERN.matcher(value).matches(); // number
}

这只检查值但忽略注释上声明的数据类型。

关于java - Swagger 注释不会产生预期的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49871343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com