Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 在Heroku环境中将POST请求视为GET大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有奇怪的情况.我有一个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缓存魔法?

解决方法

301重定向不是Heroku魔法.您的DNS(或可能是您的应用)可能会将所有顶级请求(mydomain.com)转发到www子域.

使用子域是首选:

> Heroku Dev Center: Custom Domains

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – 在Heroku环境中将POST请求视为GET全部内容,希望文章能够帮你解决ruby-on-rails – 在Heroku环境中将POST请求视为GET所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。