我正在使用Ruby on Rails 4.1,我正在尝试使用自定义mime类型实现API。也就是说,在config/initializers/mime_types.rb
中我注册了一个别名,如下所示:
Mime::Type.register_alias 'application/json', :my_json
从另一个系统我试图通过运行HTTP PUT请求以curl
访问API,这样:
curl http://www.my_api.org/articles.my_json --request PUT --header "Content-Type: application/json" --data-binary '{\"key\": {\"a\": \"1\", \"b\": \"2\"}}'
但是,通过检查我的Rails应用程序中的ArticlesController
参数,我得到以下输出(注意:article
参数是“不需要的”,并且那些参数与“想要的”key
参数重复):
Parameters: {"key": { "a"=>"1", "b"=>"2" }, "article": { "a"=>"1", "b"=>"2" }}
有什么问题?这是一个错误吗?我该如何解决?
注意:我已经通过执行HTTP GET请求实现并访问其他类似的API,并且所有工作都按预期工作。只有在我执行HTTP PUT请求时才会出现问题。
答案 0 :(得分:0)
@rafaelfranca - 不,这不是一个错误。这是
wrap_parameters
的工作原理。您可以在应用config/initializers/wrap_parameters.rb
中禁用此文件。
请参阅github。