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

Spring Boot GET接口返回HTTP 400 Bad Request问题排查求助

排查Spring Boot GET接口返回400 Bad Request的常见方向
  • 检查Controller方法的参数绑定
    确认GET接口的方法参数是否存在必填但未传递的@RequestParam,或者参数类型不匹配的情况。比如方法定义为:

    @GetMapping("/api/message")
    public String getMessage(@RequestParam Integer userId) {
        return "Hello";
    }
    

    如果Postman请求时未携带userId参数,或者传递的是字符串而非数字,Spring会因参数绑定失败返回400。另外,禁止在GET方法上使用@RequestBody,GET请求无请求体,加这个注解会直接触发解析失败。

  • 核对请求头与请求体配置
    GET请求通常不需要请求体,但如果Postman中错误设置了Content-Type(比如application/json)且附带了空或不合法的请求体,Spring会尝试解析无效内容导致400。建议清空Postman的请求体区域,确保Content-Type设置为text/plain或直接留空。

  • 开启详细日志定位具体错误
    在application.properties中添加日志配置:

    logging.level.org.springframework.web=DEBUG
    

    重启服务后重新发送请求,查看IntelliJ的控制台日志,Spring会打印出400错误的具体原因,比如参数转换失败、缺少必填参数、请求体解析错误等,这是最直接的排查方式。

  • 检查Postman的请求细节

    • 确认请求方式确实是GET,未误选为POST/PUT等其他方法;
    • 检查查询参数的拼写是否与Controller中的@RequestParam名称完全一致(大小写敏感);
    • 如果参数值包含特殊字符(如&、空格),需确保已进行URL编码,避免解析时出现格式错误。
  • 验证Spring Boot的请求映射规则
    确认Controller类上标注的是@RestController而非普通@Controller,前者会直接返回响应体,后者默认尝试解析视图名称,若视图不存在可能引发隐性的400错误(虽更常见404,但需排除该场景)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 00:35:20