@PostMapping与axios.post交互异常:React数据无法传至Spring Boot
问题排查与修复
核心错误点
- axios请求参数结构错误:axios.post的参数格式是
axios.post(url, 请求体数据, 配置项),你把请求体放到了配置项的data字段里,后端无法正确识别请求体内容。 - 多余的JSON.stringify调用:axios会自动将JS对象序列化为JSON格式并设置正确的Content-Type,手动转成字符串后,后端
@RequestBody无法将字符串解析为Login实体类,导致字段值为null。
修正后的React代码
const details = { user: "admin", pass: "12345" }; console.log(details); axios .post("/api/v1/login", details, { headers: { "Content-Type": "application/json" } }) .then((res) => console.log("done"));
额外检查项
- 确认Spring Boot的
Login实体类字段名与前端完全一致(user、pass),且拥有对应的getter/setter方法,或使用Lombok的@Data注解自动生成:
import lombok.Data; @Data public class Login { private String user; private String pass; }
- 核对请求路径:前端请求的是
/api/v1/login,后端@PostMapping的value为/login,需确保Spring Boot配置了/api/v1的全局路径前缀,或把后端注解改为@PostMapping("/api/v1/login")。
内容的提问来源于stack exchange,提问作者Sripal
相关产品推荐
相关产品推荐

