开发者社区> 问答> 正文

如何设置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 3177 0
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
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多