Postman API 无效的内容类型标头

Posted

技术标签:

【中文标题】Postman API 无效的内容类型标头【英文标题】:Postman API Invalid Content-Type Header 【发布时间】:2017-09-25 12:52:40 【问题描述】:

我正在尝试在 Postman 中测试和 API 调用 Smartsheet API,但我一直收到同样的错误。尽管我根据 API 文档定义了正确的 Content-Type,但我得到的响应是 error 1124,这是一个 invalid content-type header。我一直无法弄清楚究竟是什么导致了这个问题。我已经尝试在地址和 Postman 的标题选项卡中输入标题,但是这两个选项都没有给我想要的结果。

邮递员截图

【问题讨论】:

【参考方案1】:

如果我在 Postman 中运行与您的屏幕截图所示相同的请求(使用我的工作表 ID 除外),并且使用与您正在使用的相同标题,我的请求将成功。即,如果您为此请求发送值为 application/jsonContent-Type 标头,则不应收到您报告的错误消息 (1124 - 无效的内容类型标头)。

但是,如果您根本不包含 Content-Type 标头,或者您为 Content-Type 指定了无效值,您将收到该错误消息强>头。故障排除建议:在 Postman 中执行此请求时,使用Fiddler(或类似工具)检查通过网络发送的请求——它是否包含 Content-Type 标头,如果是这样,该标题的价值是什么?

更新:

感谢您添加您在 Postman 中设置的正文的屏幕截图 - 我相信这是您问题的根源。即,您的 Content-Type 标头表示请求正文为 JSON 格式,但您实际上并未发送 JSON。要解决这个问题:不要在 Postman 中指定键/值对,而是选择 raw 单选按钮并以 JSON 格式指定正文。这是它的截图:

【讨论】:

我尝试使用 Fiddler 检查请求,它似乎正在发送正确的 Content-Type 标头。也许我没有正确阅读它,但看起来我正确地包含了标题。 我也尝试了同样的请求,对我来说也成功了。 @burnsa,您的请求正文是什么样的? @stmcallister 我的请求正文看起来像this。 @burnsa - 我已更新我的答案以包含更多信息。请尝试一下,如果它解决了您的问题,请将此答案标记为“已接受”,以便其他人将来可以从中受益。谢谢! @KimBrandl 做到了!我明白这现在是如何引起问题的了。感谢您的帮助!

以上是关于Postman API 无效的内容类型标头的主要内容,如果未能解决你的问题,请参考以下文章

API Gateway 验证内容类型标头

邮递员控制台错误标头内容包含无效字符

如何使用 terraform 在 AWS API Gateway method_response 中指定内容类型标头?

PHP API - Nginx 给了我无效的数据类型标头

为啥在路由到 REST WebAPI 获取方法时需要内容类型标头?

POST 请求标头中的内容类型缺少 FormData 边界