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

请求协助:解决修改Content Type为application/json时的415/503错误

问题分析与解决方案

核心问题拆解

你遇到的是请求媒体类型不匹配叠加跨域配置后的连锁异常:

  • 最初的415错误:@PostMapping配合@RequestBody时默认只接受application/json类型请求,但你的请求是application/x-www-form-urlencoded,媒体类型不匹配触发415
  • 后续的503错误:修改Content-Type的操作未从根本上解决适配问题,反而引发请求处理流程异常或跨域预检失败,导致服务暂时无法响应

分步解决建议

  • 适配请求媒体类型

    • 如果后端需要接收表单数据:将接口中的@RequestBody替换为@RequestParam(单个参数)或@ModelAttribute(对象参数),无需修改请求的Content-Type,直接适配application/x-www-form-urlencoded格式
    • 如果后端必须接收JSON:确保前端请求正确配置:
      1. 显式设置请求头:headers: {'Content-Type': 'application/json'}
      2. 请求体转换为JSON字符串(如前端用JSON.stringify()处理参数)
      3. 避免使用表单提交方式,改用AJAX/fetch的JSON模式发送请求
  • 排查503错误根源

    • 查看服务端日志,定位503对应的具体异常栈(比如是否有未捕获的参数解析异常、拦截器阻断请求等)
    • 检查跨域配置是否冲突:如果同时存在全局跨域配置(如WebMvcConfigurer)和局部@CrossOrigin注解,建议统一使用全局配置,避免规则冲突
    • 确保OPTIONS预检请求被放行:如果有自定义拦截器,需添加逻辑放行OPTIONS请求,否则跨域预检失败会导致浏览器终止请求,表现为服务不可用
  • 避免无效操作
    不要通过编程方式强行修改Content-Type,这种操作会导致请求格式与后端期望不匹配,反而引发更多异常,应从请求发送端或接口接收端做适配调整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 18:13:20