坑:实体类大写前台请求到的json却变成了小写 |
您所在的位置:网站首页 › java大写转小写的方法 › 坑:实体类大写前台请求到的json却变成了小写 |
这是一个关于实体类的cId,到了前台却变成了cid的问题 问题再现今天写项目的途中发现了一个问题: @Data @TableName("tb_book") @ApiModel("图书") public class Book implements Serializable { @TableId(value = "id", type = IdType.AUTO) @ApiModelProperty("图书id") private Long id; @ApiModelProperty("图书名") private String title; @ApiModelProperty("简介") private String info; @ApiModelProperty("类别Id") private Long cId; }这是我的实体类,然后我在postman请求获取图书列表的时候出现了这种情况: 然后我尝试手写GetSet方法 @Data @TableName("tb_book") @ApiModel("图书") public class Book implements Serializable { @TableId(value = "id", type = IdType.AUTO) @ApiModelProperty("图书id") private Long id; @ApiModelProperty("图书名") private String title; @ApiModelProperty("简介") private String info; @ApiModelProperty("类别Id") private Long cId; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getInfo() { return info; } public void setInfo(String info) { this.info = info; } public Long getcId() { return cId; } public void setcId(Long cId) { this.cId = cId; } }然后就好了 经过查资料发现,SpringMVC默认使用jackson解析json,jackson又依赖于实体类的get/set方法,通过lombok生成的方法是 在找到问题所在之后,我又进行了尝试,给实体类中cId这个字段起了个别名 @ApiModelProperty("类别Id") @JsonProperty("cId") private Long cId;发现,使用lombok,最后postman里面请求的是cId正常了 总结这次的问题可能是因为lombok的生成规则和idea的快捷键生成的get/set方法不太一样 解决办法1.手写get/set方法 2.使用别名@JsonProperty(“cId”) 3.使用lombok时,避免一个小写字母接一个大写字母这种实体类 查其他资料发现的问题像NICKName这种不符合驼峰命名的名字,最后会变成nickname |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |