crm开发定制[框架]Swagger出现两个重复属性

一、问题

  1. crm开发定制单字母开头的属性crm开发定制作为接口入参时,在文档中变成两个“相似”的属性;

  2. 作为响应实体时,大小写不敏感。

查资料发现问题是的,接口入参定义:

  1. @ApiModel("测试")
  2. data class TestSwaggerParam(
  3. @ApiModelProperty(value = "云编号")
  4. val vCid:String
  5. )

显示:

  1. // requestBody
  2. {
  3. "vCid": "",
  4. "vcid": ""
  5. }
  6. // responseBody
  7. {
  8. "vcid": ""
  9. }

二、原因

  • 类属性get set的时候属性名都会转为大写。如果你的属性是大写的,它的set get 方法也是setA.. getB.. ,程序会自动默认你传过来的属性是小写的name

  • spring默认的命名方式,首字母转小写,连续大写字母都转成小写

 对于本文中的情况来说:

  1. vCid的getter方法为getVCid

  2. 连续大小写字母转为小写后,swagger无法辨别实际参数名字是vcid还是vCid

  3. 最终入参为了容错(猜测)提供两个属性,而响应结果大小写不敏感并不会严重影响实际使用

三、解决

规范属性命名,放弃简称,将单字母补全。

应该还有其他的解决方法让swagger能够在这种特殊情况下正确识别实际的属性,欢迎补充。

 

引用:

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发