是否可以将“ActionDispatch::ParamsParser”添加到 Rails 5 API 应用程序作为自定义中间件。
我有一个自定义中间件,可以更新请求对象。当请求转发到ActionDispatch::ParamsParser时,参数解析失败。
是否可以在 Rails 5 API 应用程序中的自定义中间件之前添加 ActionDispatch::ParamsParser 中间件。
您应该在
ActionDispatch::ParamsParser
之后的下一个中间件之前添加中间件,在本例中为 Rack::Head
。
您可以使用
bundle exec rake middleware
获取可用中间件列表
对于 Rails 5 及更高版本,您可能需要考虑在
ActionDispatch::Request.parameter_parsers
中使用 config/application.rb
。
然后您可以像这样修改解析器:
ActionDispatch::Request.parameter_parsers[:json] = -> (raw_post) {
// do something
}