SpringBoot集成React单页应用POST请求405错误排查与解决
SpringBoot 适配单页应用调试异常排查记录
问题现象
- Postman发送POST请求可正常命中控制器断点并返回响应
- 浏览器中通过React调用相同URL、相同参数的REST API时,仅触发跨域过滤器,控制器未被调用
- 响应头
Allow字段不包含POST方法 - Chrome控制台显示POST数据已发送,但服务器未接收,使用相同数据通过Postman请求却成功
相关配置
- application.yaml配置:
management: security: enabled: false
- 自定义跨域过滤器代码:
HttpServletResponse httpServletResponse = (HttpServletResponse) servletResponse; httpServletResponse.setHeader("Access-Control-Allow-Origin", "*"); httpServletResponse.setHeader("Allow", "GET, HEAD, OPTIONS, POST, PUT"); httpServletResponse.setHeader("Access-Control-Allow-Methods", "GET, OPTIONS, POST, PUT"); httpServletResponse.setHeader("Access-Control-Allow-Headers", "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
最终排查结论
问题根源是WebSocket请求的URL存在拼写错误,导致前端请求路径异常,无法正确匹配到后端控制器。
内容的提问来源于stack exchange,提问作者sssimon
相关产品推荐
相关产品推荐

