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

Spring接口中@RequestBody失效致请求对象字段为空的解决方法

解决@RequestBody接收对象字段为空的问题

看起来你碰到了Spring里@RequestBody没法正确把请求体绑定到对象的麻烦——不管是RAML生成的代码还是手动写的测试都出现这个情况,我来帮你梳理几个常见的排查方向和解决办法:

1. 先确认请求的Content-Type是否正确

Spring的@RequestBody默认只处理Content-Type: application/json的请求。如果你的请求头没设置这个,或者错设成了application/x-www-form-urlencoded这类格式,Spring就不会用Jackson去解析JSON请求体,自然会导致对象字段为空。

解决办法:
发送请求时一定要带上这个请求头:

Content-Type: application/json

用Postman测试的话,直接在Headers面板里添加这个键值对就行。

2. 检查请求体字段名和实体类是否匹配

你的实体类字段是insurerID(驼峰式,末尾是大写ID),如果请求体里写成了insurerId(小写id)或者insurer_id(下划线分隔),Jackson默认不会自动映射,结果就是字段为空。

正确的请求体示例:

{
  "insurerID": "your-insurer-id-value"
}

如果想支持下划线转驼峰的格式,可以给字段加@JsonProperty注解:

@JsonProperty("insurer_id")
private String insurerID;

或者在Spring Boot的配置文件里全局设置Jackson的命名策略(比如application.yml):

spring:
  jackson:
    property-naming-strategy: SNAKE_CASE

3. 确认Jackson依赖是否存在

如果是Spring Boot项目,spring-boot-starter-web已经包含了Jackson相关依赖,不用额外加。但如果是普通Spring MVC项目,得手动引入Jackson依赖:

Maven依赖:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.15.2</version> <!-- 用最新稳定版即可 -->
</dependency>

Gradle依赖:

implementation 'com.fasterxml.jackson.core:jackson-databind:2.15.2'

4. 排查请求体的JSON格式是否正确

如果请求体的JSON有语法错误——比如少了引号、逗号不匹配、括号没闭合,Jackson解析失败后也会返回字段为空的对象。可以用JSON校验工具(比如JSONLint)检查下请求体的格式是否合法。

5. 检查实体类的无参构造和setter

你的实体类已经有了无参构造和正确的setter方法,这部分是没问题的,但要记住:Jackson默认需要无参构造来实例化对象,如果后续修改构造方法时删掉了无参构造,也会导致解析失败。

6. 确认Spring的MessageConverter配置没被覆盖

如果你的项目自定义了HttpMessageConverter,有可能覆盖了默认的Jackson转换器,导致无法解析JSON。检查下配置类里有没有类似这样的代码,确保保留了Jackson的转换器:

@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        // 一定要添加这个Jackson转换器,不然JSON解析会失效
        converters.add(new MappingJackson2HttpMessageConverter());
        // 其他自定义转换器可以加在这里
    }
}

建议你先从最常见的前两点入手排查:先确认请求头的Content-Type,再核对请求体的字段名和实体类是否一致,这两个是最容易踩坑的地方。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:02:29