【发布时间】:2014-08-25 03:41:40
【问题描述】:
我正在使用 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 请求时才会发生。
【问题讨论】:
-
听起来很熟悉。我之前也看到过这种类型的问题。
标签: ruby-on-rails ruby curl ruby-on-rails-4 mime-types