swagger学习日记4 文档无法识别下划线属性名

目录

问题分析:

问题现象:

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方法即可

注意:其实带下划线是不符合前后端数据交互和开发规范的,但由于本项目是老旧的项目,所以也是挺无奈的,这里还是建议尽量不要使用下划线。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值