目录
问题分析:
问题现象:
3.回到最开始的问题:如何在让swagger文档识别带下划线(_)的属性名?
解决方法:
问题分析:
今天在使用swagger注解接口,编写文档的时候,发现了一个大问题:如何在让swagger文档识别带下划线(_)的属性名?如:
{
"account_name": "nspd1",
"password": "zg=="
}
问题现象:
查看了网上资料发现,并没有该问题的解决方法,有的都是在说如何解决Map数据类型的子属性注解问题。
于是我就开始自己尝试:
1.当我使用网上大神么的创建新注解的方法时注解Map数据类型的对象时,确实可以解决这个问题:
当也有很大局限性,固定的Map格式注解,是不适用于其他数据模型的情况的,例如:像下面这种(嵌套Map)数据模型,就很复杂,我在网上没有找到这种数据模型的注解实现方法:
{
"reply": {
"code": 1000,
"msg": "成功"
},
"result": {
"user_id": ""
}
}
2.然后自己也是刚接触swagger不久,没有怎么了解过深层逻辑代码,所以只能使用最基本但也是最简单的方法,就是利用把实体类注解 @ApiModel 和 实体类属性注解 @ApiModelProperty,即可实现;
3.回到最开始的问题:如何在让swagger文档识别带下划线(_)的属性名?
我试过把实体类的属性从正规的小驼峰,改为下划线格式,但还是不行,swagger文档还是识别成了小驼峰格式
后来通过思考,终于想起来一个经常忘记的知识点:从上面的尝试中,可以知道,对属性名格式的识别其实和属性名无关,至此我终于想起来是和getter、setter方法有关,
于是修改了setter/getter 方法之后终于可以了;
解决方法:
1.先把属性名修改为带下划线的格式,
2.在IDEA中可以按快捷键 alt + Insert 快速生成getter/setter方法即可
注意:其实带下划线是不符合前后端数据交互和开发规范的,但由于本项目是老旧的项目,所以也是挺无奈的,这里还是建议尽量不要使用下划线。
最后
以上就是明理世界最近收集整理的关于swagger学习日记4 文档无法识别下划线属性名问题分析:问题现象:解决方法:的全部内容,更多相关swagger学习日记4内容请搜索靠谱客的其他文章。
发表评论 取消回复