Rails 5 API 没有 ActionDispatch::ParamsParser 作为中间件

问题描述 投票:0回答:2

是否可以将“ActionDispatch::ParamsParser”添加到 Rails 5 API 应用程序作为自定义中间件。

我有一个自定义中间件,可以更新请求对象。当请求转发到ActionDispatch::ParamsParser时,参数解析失败。

是否可以在 Rails 5 API 应用程序中的自定义中间件之前添加 ActionDispatch::ParamsParser 中间件。

ruby-on-rails-5 rails-api
2个回答
0
投票

您应该在

ActionDispatch::ParamsParser
之后的下一个中间件之前添加中间件,在本例中为
Rack::Head

您可以使用

bundle exec rake middleware

获取可用中间件列表

0
投票

对于 Rails 5 及更高版本,您可能需要考虑在

ActionDispatch::Request.parameter_parsers
中使用
config/application.rb

然后您可以像这样修改解析器:

ActionDispatch::Request.parameter_parsers[:json] = -> (raw_post) {
   // do something
}
© www.soinside.com 2019 - 2024. All rights reserved.