我有奇怪的情况.我有一个RoR应用程序,它提供了我从
Java应用程序连接的REST API.
我正在本地开发RoR,并在Heroku环境中部署它.
无论如何(我尝试从Java APP,Mozilla REST客户端等)我尝试发送应该由api控制器中的create action处理的POST HTTP请求.在localhost上 – 一切都按预期工作.在Heroku生产环境中 – POST请求被视为正常的GET.
以下是此资源的路线:
api_v1_items GET /api/v1/items(.:format) api/v1/items#index {:format=>:json} POST /api/v1/items(.:format) api/v1/items#create {:format=>:json} api_v1_item GET /api/v1/items/:id(.:format) api/v1/items#show {:format=>:json} PATCH /api/v1/items/:id(.:format) api/v1/items#update {:format=>:json} PUT /api/v1/items/:id(.:format) api/v1/items#update {:format=>:json} DELETE /api/v1/items/:id(.:format) api/v1/items#destroy {:format=>:json}
所以我正在尝试对/ api / v1 / items传递所有必要参数的POST请求.
在localhost中,响应是正确的:
Started POST "/api/v1/items?token=l4XOHrhDApPqTp1u4TxBjQ" for 127.0.0.1 at 2014-05-15 22:11:49 +0200 Processing by Api::V1::ItemsController#create as JSON Parameters: {"height"=>10.0,"item_name"=>"Super item","width"=>20.0,etc...
然而,同样的请求在Heroku被解雇为GET:
2014-05-15T20:27:58.137541+00:00 app[web.1]: Started GET "/api/v1/items?token=iEdDkDLiDUlWi0mDbr6XYw" for 89.74.57.51 at 2014-05-15 20:27:58 +0000 2014-05-15T20:27:58.223620+00:00 app[web.1]: Processing by Api::V1::ItemsController#index as JSON
任何的想法?当然两个回购都是同步的.检查几次.
这真的很奇怪……也许某种Heroku缓存魔法?
解决方法
HTTP/1.1 301 Moved Permanently
301重定向不是Heroku魔法.您的DNS(或可能是您的应用)可能会将所有顶级请求(mydomain.com)转发到www子域.
使用子域是首选:
原文地址:https://www.jb51.cc/ruby/264863.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。