出现 405 错误-在邮递员中工作时方法不允许招摇撞错
Posted
技术标签:
【中文标题】出现 405 错误-在邮递员中工作时方法不允许招摇撞错【英文标题】:Getting 405 error - method not allow error in swagger while working in postman 【发布时间】:2018-01-27 20:42:57 【问题描述】:我正在尝试在 swagger 编辑器中运行我的 API。但是如果我在标头中传递oauth
令牌,它会给我一个错误,即不允许使用 405 方法。
另一件事是它在邮递员和终端中使用oauth
令牌完美运行。所以也许,问题在于招摇。
没有 oauth
令牌,它在 swagger 编辑器中完美运行。
如果没有在标头中传递 oauth 令牌,我的响应是
Request URL:http://172.168.1.28/crowdfunding_api/public/v1.0.1/categories
Request Method:GET
Status Code:200 OK
Remote Address:172.168.1.28:80
Referrer Policy:no-referrer-when-downgrade
并且 curl url 是响应为 200 时:
curl -X GET "http://172.168.1.28/crowdfunding_api/public/v1.0.1/categories" -H "accept: application/json"
在标头中使用 oauth 令牌我的响应是
Request URL:http://172.168.1.28/crowdfunding_api/public/v1.0.1/categories
Request Method:OPTIONS
Status Code:405 Method Not Allowed
Remote Address:172.168.1.28:80
Referrer Policy:no-referrer-when-downgrade
curl url 是响应为 405 时:
curl -X GET "http://172.168.1.28/crowdfunding_api/public/v1.0.1/categories" -H "accept: application/json" -H "authorization: 587ded3104e6ba7535642e6fcc217e7aa0f5f087"
【问题讨论】:
【参考方案1】:尝试在您的 REST 端点包装器中添加对 OPTIONS
方法的支持。
只需使用类似的东西:
if (method == 'OPTIONS') return;
我有类似的 405 错误,这对我有帮助(似乎 CORS 首先发送 OPTIONS 来检查标头,是否允许请求)。
还要确保您的服务器返回标头:
Access-Control-Allow-Credentials: "true"
Access-Control-Allow-Origin: "*"
Access-Control-Allow-Headers: "origin, x-requested-with, content-type, authorization"
Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT"
【讨论】:
以上是关于出现 405 错误-在邮递员中工作时方法不允许招摇撞错的主要内容,如果未能解决你的问题,请参考以下文章
在 Spring MVC 中映射 Ajax 请求:不允许出现错误 405 方法
为啥在禁用 webdav 后,在本地工作的 WebApi 的 DELETE 请求上出现 405 方法不允许错误?