开发者社区 问答 正文

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

如何设置Spring Boot中@RequestBody反序列化实体的默认值?? 400 报错 使用的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


展开
收起
优选2 2020-06-09 11:10:26 3232 分享 版权
1 条回答
写回答
取消 提交回答
  • 关注下。。######

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

    <preclass="brush:java;toolbar:true;auto-links:false;">publicclassUser{privateStringusername;privateStringrealname;@JsonProperty(value="user_name")publicvoidsetUsername(Longusername){this.username=username;}}



    2020-06-09 11:10:44
    赞同 展开评论