今天在使用sprinboot往前台传参时,出现前台接收不到数据,查看了log之后发现是后台传递的参数包含大写字母,到前台自动解析为小写字母了。
public class Node {
// 节点id
private Integer id;
// 父节点id 包含大写字母
@JsonProperty
private Integer pId;
// 节点名称
private String name;
// 需要自定义图片时,使用该属性
private String iconSkin;
// 通过该属性,设置图片
private Integer level;
// 当需要设置某个节点被选中的时候,通过该属性定义
private Boolean checked;
}
解决方法:
在相应的字段上,加上@JsonProperty即可。
通过@JsonProperty注解来解决比较方便,作用是把该属性的名称序列化(或者反序列化接收参数)为另外一个名称,如把trueName属性序列化为name,@JsonProperty(value="name") ,不加后面的括号表示按原来的名字区分大小写并序列化再加括号表示序列化的时候的字段名字。