如何设置Spring Boot中@RequestBody反序列化实体的默认值?

xBinary 发布于 2014/12/21 22:51
阅读 12K+
收藏 0
使用的Spring Boot,内置的Jackson解析Json,请教一下,
比如有实体 User:
public class User {
    private String username;
    private List<Book> books;
    private String realname;
}
使用@RequestBody解析JSON对象
@RequestMapping(value = "/user", method = RequestMethod.POST)  
public User login(
          @RequestBody User user
       ) {  
    return user;
}  


如何设置(添加某种注解)对于反序列化后的对象,若其属性在请求的JSON中没有提供,则属性值默认为null
如客户端POST请求的JSON为:
{
    "realname": "test"
}
则解析后的对象的book/username属性值为null


加载中
0
BinGo_91
BinGo_91
关注下。。
0
xBinary
xBinary

使用Jackson的注解@JsonProperty可以设置序列化和反序列化时的JSON名

public class User { 
    private String username; 
    private String realname; 

    @JsonProperty(value = "user_name")
    public void setUsername(Long username) {
       this.username = username;
    }
}



返回顶部
顶部