我想接收一个大型 JSON PUT 请求,并使用 Sidekiq 在后台完全处理它。因此,我不想自动解析来自请求正文的传入 JSON。
在基于 Controller /操作的级别上完成此操作的最佳实践是什么?
最佳答案
据我所知,这是通过 Rack 中间件完成的,所以我认为您不能立即为一个 Controller / Action 禁用它。您可以修补 ActionDispatch::ParamsParser
类似于这个人所做的:
http://www.jkfill.com/2015/02/21/skip-automatic-params-parsing/
当然,您可以编写自己的中间件来解析参数,或者为 JSON MIME 类型指定自定义解析器。
最后,您可以一起禁用 JSON 解析。在你的 config/application.rb 添加:
config.middleware.swap ActionDispatch::ParamsParser, ActionDispatch::ParamsParser, Mime::JSON => nil
关于ruby-on-rails - Rails 禁用 POST/PUT/PATCH 正文的 JSON 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34428468/