You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SpringBoot中@RequestBody接收对象属性为null的问题求助

排查@RequestBody接收UserToto对象属性全为null的问题

以下是几个核心排查方向及解决方法:

  • 检查实体类的属性访问权限与 getter/setter
    实体类UserToto的私有属性必须配套对应的getter和setter方法,Spring的JSON消息转换器依赖这些方法注入值。如果用Lombok的@Data注解,要确认POM中已引入Lombok依赖,且IDE安装了Lombok插件(否则无法自动生成getter/setter)。如果字段名和JSON键名不匹配,可通过@JsonProperty指定映射关系:

    private String username;
    
    @JsonProperty("username")
    public String getUsername() { return username; }
    
    @JsonProperty("username")
    public void setUsername(String username) { this.username = username; }
    
  • 确认请求的Content-Type与请求体格式
    用Swagger测试时,必须把请求头的Content-Type设为application/json,同时请求体要传标准JSON格式的数据,比如:

    {
      "username": "demoUser",
      "password": "demoPass"
    }
    

    如果选了form-data或其他类型,@RequestBody无法正确解析JSON内容。

  • 检查实体类的无参构造函数
    Spring实例化实体类时依赖无参构造,如果UserToto只定义了带参构造,会导致无法创建对象,属性自然为null。要么手动添加无参构造,要么用Lombok的@NoArgsConstructor注解(同样要确保Lombok生效)。

  • 验证Spring Boot的JSON依赖配置
    确认POM中已经引入spring-boot-starter-web依赖,它默认包含Jackson作为JSON处理器:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    

    如果自定义了消息转换器,别覆盖默认的Jackson配置,否则可能导致解析失败。

  • 查看调试日志定位问题
    开启DEBUG级别的日志,查看JSON解析过程中的错误信息:

    logging.level.org.springframework.web=DEBUG
    logging.level.com.fasterxml.jackson=DEBUG
    

    日志会显示Spring处理请求体的细节,比如字段不匹配、类型转换异常等,帮助快速定位问题。

内容的提问来源于stack exchange,提问作者user21287171

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 04:08:24