使用@ApiModel遇到的问题如何解决(云服务器、云主机、高防IP、高防服务器、香港服务器、美国服务器,开发技术)

时间:2024-05-05 08:48:28 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    %E4%BD%BF%E7%94%A8%40ApiModel%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3

使用 swagger2 中的 @ApiModel 注解不规范遇到的 swagger 文档 错乱问题:

以前使用 swagger2 时, 在出入参实体上添加注解 @ApiModel 时习惯性的添加 value = "XXX" 属性, 旧版本中一直没有发现有什么问题.

最近在使用 swagger2:2.9.2 版本时, 遇到一个问题, swagger 文档中的 入参 结构示例中的入参参数跟代码的入参对象中的字段不匹配不一致, 导致接口联调问题多

经过排查发现是因为 @ApiModel 直接使用不规范导致的。

错误用法:@ApiModel(value = "用户信息")

正确用法:@ApiModel(description = "用户信息")

经过排查发现, swagger2 是需要 value 属性在同一个服务全局中保持唯一的, swagger 会把所有的 API 中的出入参实体列在 swagger 文档的最下方, 如果存在多个实体的 @ApiModel(value = "用户信息") 注解相同, 那么 swagger 只会识别一个, 其他的 实体 会被覆盖, 不会被显示, 其他被覆盖的 实体在 API 被引用的地方在文档中会被识别的相同名称的实体 替代, 导致文档展示错乱问题

使用正确的用法:

@ApiModel(description = "用户信息"), 如果我们能在代码规范中保证实体名称不会重复, value 使用默认就好, 所以不再配置, 实体说明使用 description 来进行配置.

springfox-swagger2 (version = 2.9.2)

swagger-bootstrap-ui (version = 1.9.6)

swagger-models (version =1.6.1)

使用场景:在实体类上边使用,标记类时swagger的解析类

使用场景:使用在被 @ApiModel 注解的模型类的属性上

本文:使用@ApiModel遇到的问题如何解决的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Java中的final关键字如何使用下一篇:

9 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18