【问题标题】:Strange Rails behavior with custom mime types自定义 mime 类型的奇怪 Rails 行为
【发布时间】: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


【解决方案1】:

@rafaelfranca - 不,这不是错误。这就是wrap_parameters 的工作方式。您可以在您的应用程序config/initializers/wrap_parameters.rb 中禁用此文件。

github

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-06
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    相关资源
    最近更新 更多