当前位置:  开发笔记 > 编程语言 > 正文

与Postman一起投入Apigility时"不支持的媒体类型"

如何解决《与Postman一起投入Apigility时"不支持的媒体类型"》经验,为你挑选了1个好方法。

我是使用Zend Framework 2和Zend Framework的Apigility构建RESTful API的.为了测试,我使用chrome扩展Postman REST-Client.

通过发送表单数据没有问题,我可以毫无问题地执行GET请求和POST请求.

但是当我尝试执行PUT,PATCH或DELETE请求时,我收到以下错误:

{
    "type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
    "title":"Unsupported Media Type",
    "status":415,
    "detail":"Invalid content-type specified"
}

在Rest-Service-Config of Apigility中接受白名单:

application/vnd.timber-ms.v1+json, application/hal+json, application/json

内容类型白名单:

application/vnd.timber-ms.v1+json, application/json

响应的内容类型是 application/problem+json

我该怎么做才能解决这个问题并成功完成PUT/PATCH请求?这是Postman或Apigility的问题吗?



1> Chad Lad..:

当Apigility无法反序列化来自客户端的数据时,您将收到415不支持的媒体类型错误.最近在文档中提到了这一点.

我怀疑你的问题是由邮递员发送的内容类型引起的.请特别注意为服务列出的Content-Type白名单,并确保它包含您要发送的内容类型.

例如,如果您的服务在Content-Type白名单中只有application/json,并且您使用postman发送PUT/PATCH为x-www-form-urlencoded,则会收到415错误的Unsupported Media Type.如果您更改邮递员以使用内容类型的application/json发送PUT/PATCH并且请求正文包含有效的JSON,则Apigility应接受该​​请求.

您可以通过单击"发送"按钮右侧的"预览"按钮来检查邮递员发送的内容类型.

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有