Spring Boot+MySQL环境下Raw JSON格式Post请求失败求助
解决Spring Boot接收Raw JSON Post请求返回null的问题
问题核心原因
你遇到的情况是因为Spring Boot默认不会自动从请求体的JSON中解析参数,需要做几个关键配置才能正确接收JSON格式的请求。
具体解决方案
给Controller参数加
@RequestBody注解
这是最关键的一步,没有这个注解,Spring会默认从URL参数或表单中取数据,而不是解析请求体里的JSON。示例代码:@PostMapping("/your-api-path") public ResultVO addData(@RequestBody YourEntity entity) { // 这里就能拿到JSON里的参数了 return yourService.save(entity); }检查实体类的规范
- 必须有无参构造方法(Spring通过反射创建实体对象时需要)
- 每个需要接收的字段都要有对应的
getter和setter方法 - 如果JSON键名和实体类字段名不一致,用
@JsonProperty做映射,比如:public class User { @JsonProperty("user_name") private String userName; // getter、setter、无参构造 }
Postman请求要正确配置
- 选择
Raw->JSON格式 - 确保请求头包含
Content-Type: application/json(这个是告诉后端请求体是JSON类型) - JSON内容要和实体类字段一一对应,格式不能错
- 选择
React Axios请求示例
Axios默认会处理JSON格式的请求,直接传对象就行,不用手动转JSON:axios.post('/api/your-api-path', { userName: 'Alperen', age: 20 }) .then(res => { console.log('请求成功:', res.data); }) .catch(err => { console.error('请求失败:', err); });
内容的提问来源于stack exchange,提问作者Alperen Ekici
相关产品推荐
相关产品推荐

