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

Spring Boot应用Postman访问正常但浏览器返回400白标错误页如何解决?

Spring Boot接口Postman可访问浏览器返回400错误解决方案

常见原因及排查方向

  • 必选请求参数缺失
    检查接口方法是否标注了@RequestParam(required = true)的参数,Postman测试时默认填充了该参数,浏览器直接访问地址栏未携带参数会直接触发400错误。你可以对比Postman的Params栏配置,在浏览器地址后拼接对应参数再测试。
  • produces属性与浏览器Accept头不兼容
    你的接口配置了produces = {"application/json"},限定仅返回JSON格式响应。部分浏览器发起GET请求时默认的Accept请求头会优先携带text/html,和接口要求的返回格式不匹配就会触发400错误。你可以修改@RequestMapping配置,调整为:
    @RequestMapping(value = "/billing-file-generation",
          produces = {"application/json", "text/html"},
          method = RequestMethod.GET)
    
    或者直接移除produces属性,让Spring MVC自动适配请求Accept头。
  • CSRF防护拦截
    Spring Boot默认开启CSRF防护机制,Postman请求不会触发拦截,浏览器同源/跨域请求会被CSRF校验拦截返回400。你可以在Spring Security配置类中临时关闭CSRF校验验证是否为该问题:
    @Configuration
    public class SecurityConfig extends WebSecurityConfigurerAdapter {
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http.csrf().disable();
        }
    }
    
  • URL特殊字符未编码
    如果请求携带的参数包含空格、中文、特殊符号,Postman会自动做URL编码,浏览器直接在地址栏输入可能未自动编码导致请求格式非法,触发400。

快速定位根因方法

在项目的application.properties/yml中添加如下配置,开启Web请求的Debug日志:

logging.level.org.springframework.web=DEBUG

重启应用后用浏览器访问接口,查看控制台输出的异常栈信息,即可直接定位400错误的具体触发原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 07:45:02