前几天遇到个这样的问题:
我在实体类中定义了一个字段名为SO,属性名全大写字母
private String SO;
这样如果作为接口中接收参数的对象在requestBody中的话,如果前台传的json包含了so和SO,类似如下:
{
"so":"111",
"SO":"222"
}
debug发现接收到的值是so的111,此时我只想接收到全大写字母SO的值如何解决呢?
只要在属性上或者set方法上加上注解@JsonProperty(“SO”)。
@JsonProperty("SO")
private String SO;
@JsonProperty("SO")
public void setSO(String SO){
this.SO = SO;
}
上面解决了接收参数的问题,接下来返回的json数据又存在问题了,实体类中分明我只定义了一个属性SO,但返回值却是既有大写也有小写。
查到博客好像是因为spring 默认的jackson类库处理是基于访问器。
解决方式就是在get方法上加上@JsonProperty(“SO”)。
@JsonProperty("SO")
public String getSO(){
return SO;
}