我正在尝试使用标题:X-HTTP-Method-Override: PATCH
(如 Tastypie 文档中所述,只需在那里搜索X-HTTP-Method-Override
),以便我可以在 heroku 中使用 tastypie 时模拟PATCH
(heroku 不支持)。
我正在尝试这个卷曲请求
curl --dump-header - -H "Content-Type: application/json" -H "X-HTTP-Method-Override: PATCH" -H "Authorization: ApiKey admin:TheApiKey" -X POST --data '{"token": "test1234"}' http://staging.myserver.com/api/v1/devices/449/
在本地它运行良好,但是当我在我的 heroku 托管应用程序上尝试它时,我得到:
HTTP/1.1 501 NOT IMPLEMENTED
Content-Type: text/html; charset=utf-8
Date: Fri, 25 Jan 2013 17:45:11 GMT
Server: gunicorn/0.15.0
Content-Length: 0
Connection: keep-alive
这里可能有什么问题?
501 错误与 Heroku 无关。
我相信这是您的资源的设置。
TastyPie 有点麻烦,我会参考文档中的以下行:
"要使PATCH正常工作,您必须已经设置了detail_allowed_methods设置。
即
detail_allowed_methods = ["获取"、"发布"、"放置"、"删除"、"补丁"]