Leo*_*eon 6 ruby ruby-on-rails ruby-on-rails-4
我在rails中有一个API端点,默认情况下,如果你没有设置任何Content-Type标头来处理params
application/x-www-form-urlencoded
Run Code Online (Sandbox Code Playgroud)
有没有办法从POST请求处理rails中的json字符串而不指定标题中的内容类型?
在您的routes.rb文件中,您可以将 POST 路由放置在命名空间内,并定义所需的格式,如下所示:
namespace :api, defaults: { format: :json } do
post 'example' => 'controller#action'
end
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您可以将 json 有效负载 POST 到“/api/example.json”,并且不必定义 Content-Type。您也可以只为单个帖子行定义它,但我还没有测试过。