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

Spring Boot JWT认证接口报HttpMessageNotReadableException 400错误如何解决

错误原因

该报错的核心原因是调用/authenticate POST接口时,Spring无法获取到符合要求的请求体,无法映射到控制器方法中被@RequestBody修饰的AuthenticationRequest参数,所以抛出HttpMessageNotReadableException异常并返回400错误,常见触发场景如下:

  • 发起请求时未携带任何请求体,空body调用POST接口
  • 请求方法使用错误,用GET、PUT等不携带请求体/不符合接口定义的方法调用
  • 请求头未设置正确的Content-Type,未指定为application/json,导致Spring无法将传入的内容解析为JSON映射到实体类
  • 传入的JSON存在语法错误,无法被正常解析

你的接口代码和安全配置本身没有逻辑问题,安全层已经放开了该接口的访问权限,报错和权限拦截无关。

解决方案

按照以下步骤排查修正即可:

  1. 确认请求方法为POST,不要使用GET等其他方法调用该接口
  2. 检查请求头是否配置了Content-Type: application/json,如果使用接口调试工具(Postman、Apifox等),需要在Body栏选择raw格式,子类型选择JSON,不要使用form-data、x-www-form-urlencoded格式传参
  3. 确保请求体携带符合格式要求的JSON内容,示例如下:
{
  "username": "实际用户名",
  "password": "实际密码"
}
  1. 若你有特殊场景需要允许请求体为空,可以将@RequestBody注解修改为@RequestBody(required = false),但该认证接口必须传入账号密码才能正常逻辑校验,不推荐使用该修改方案。

内容的提问来源于stack exchange,提问作者Michael Torres Ospina

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 06:36:04