POST-запрос рассматривается как GET в среде Heroku
У меня странный случай. У меня есть приложение RoR, которое предоставляет REST API, к которому я подключаюсь из приложения Java.
Я разрабатываю RoR локально и внедряю его в среде Heroku.
Независимо от того, как (я пытался из Java APP, клиента Mozilla REST и т. Д.) Я пытаюсь отправить HTTP-запрос POST, который должен быть обработан действием create в контроллере API. На localhost - все работает как положено. На enok производства 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}
Поэтому я пытаюсь сделать POST запрос/api/v1/items
прохождение всех необходимых параметров.
В 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?