场景:需要返回的json格式的参数字段是首字母大写,JSON.toJSONString 后都变成了小写
原因:JSON源码里,除了所有的属性代写后字段返回的才是大写,其余皆是默认自动返回小写;
解决办法:
1:所有的属性命名首字母大写,不写get方法(不符合命名规范)
2,属性加上 @JSONField(name = "Name")//指定字段名称
private String name;
注意:如果写成:
@JSONField(name = "Name")
private String Name;
还是会是小写
注意:
当你接受对象参数时,@RequestBody自动指向封装对象,属性的设置命名以请求参数统一
附录:
@RequestBody的原理:i)该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上; ii) 再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。 该该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。 其中的数据绑定到要返回的对象,找到属性后,设置的属性字段名称需要和请求字段相同,否则会找不到