Postman发送JSON作为Rest API请求参数报Bad Request,正确方式是什么?
正确通过Postman将JSON作为请求参数发送的方法
针对遗留系统必须将JSON放在请求参数中的场景,以下是避免Bad Request Exception的具体操作方式:
GET 请求场景
- 在Postman的Params标签页添加参数:参数名按后端要求填写,参数值直接输入完整的JSON字符串(比如
{"id":123,"name":"test"})。Postman会自动对JSON中的特殊字符(如引号、大括号)进行URL编码,确保后端能正确解析。 - 若手动拼接URL参数,必须自行对JSON字符串做URL编码,否则特殊字符会破坏请求结构,触发Bad Request。例如将
{"key":"value"}编码为%7B%22key%22%3A%22value%22%7D后再拼入URL。 - 注意:GET请求存在URL长度限制,若JSON内容过长,需确认后端是否支持长URL,或尝试压缩JSON内容(如去掉不必要的空格)。
POST 请求场景(要求JSON在请求参数而非Body中)
- 选择POST请求方法,切换到Params标签页添加参数,参数值填写JSON字符串即可。Postman会自动完成参数值的URL编码,无需手动处理。
- 不要将JSON放在Body的
raw格式中(这是常规JSON请求的方式),必须严格放在请求参数里,符合遗留系统的要求。
额外注意事项
- 确认参数名称与后端接口定义完全一致,参数名不匹配是触发Bad Request的常见原因。
- 检查JSON格式的正确性:确保引号成对、大括号/中括号闭合、无多余逗号。Postman会对输入的JSON做实时语法校验,红色高亮部分即为错误点。
- 不要在JSON字符串外层额外添加引号,比如不要写成
"{"key":"value"}",直接输入{"key":"value"}即可,多余的引号会导致后端解析失败。
内容的提问来源于stack exchange,提问作者hermit
相关产品推荐
相关产品推荐

