ruby-on-rails - Rails 禁用 POST/PUT/PATCH 正文的 JSON 解析

标签 ruby-on-rails json ruby-on-rails-4 configuration

我想接收一个大型 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/

相关文章:

ruby-on-rails - 使用 Rails 的延迟/异步任务

regex - 在 PostgreSQL 中使用子字符串获取 JSON 值

ruby-on-rails - 需要在设计表单中添加两个附加字段,并保存在不同的表(邀请表)中

javascript - Rails 4 - 具有依赖字段 rails 的条件 JS

mysql - 如何使用 Rails 创建此查询?

c++ - 将字符串转换为 const *json 后,在传递 json 对象时,显示失败 : (IsObject()), 如何解决?

ruby-on-rails - 在 Rails 中测试 Rake : Multiple Error Raises Silenced In Test

ruby-on-rails - 未定义的局部变量或方法 `user_params' rails 4

ruby-on-rails - 事件记录翻译出错

python - python/tornado 中的自定义 json 编码器