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

Heroku部署Springboot应用GET正常POST请求报错如何排查

问题根源

报错和Springboot应用逻辑、Heroku平台部署无关,完全是curl命令的单引号闭合错误导致的shell解析异常。
你写的POST命令中,包裹URL的第一个单引号没有在URL末尾闭合,反而把后续的-d参数也包进了URL的引号范围内:

# 错误写法,引号错位
curl -X POST 'heroku-url -d '{}' '  

Shell解析这段命令时,会把第一个单引号到第二个单引号之间的heroku-url -d 识别为请求URL,后续的{}也被当作URL的组成部分,最终触发花括号位置空串的解析错误。本地测试能正常执行,是因为你本地运行时输入的命令引号位置是正确的,和请求逻辑本身无关。

修复方案

调整引号位置,将URL、请求头、请求体各自独立包裹,发送JSON请求时补充对应的Content-Type头,标准正确写法如下:

curl -X POST '替换成你的Heroku应用完整接口地址' \
  -H 'Content-Type: application/json' \
  -d '{}'

注意事项:

  • 每个独立参数(URL、请求头、请求体)的引号必须成对闭合,参数之间用空格分隔,不能将参数选项包裹到URL的引号范围内
  • 给Springboot接口发送JSON格式请求时必须携带Content-Type: application/json请求头,否则Spring MVC会默认按application/x-www-form-urlencoded格式解析请求体,即使命令不报错也可能出现参数绑定失败的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 23:36:17