如何在 API 模式下使用 rails 5 时创建自定义中间件?



我正在尝试在 API 模式下在 rails 5 中创建自定义中间件,其中仅适用于不以/api/开头的路由...它将重新添加

middleware.use ActionDispatch::Cookies
middleware.use ActionDispatch::Cookies::Session

这篇文章展示了如何在轨道 4 中做到这一点: OmniAuth::NoSessionError - 您必须提供一个会话才能使用 OmniAuth。(在设计中配置)

我正在尝试创建一个中间件,就像上面帖子中接受的答案一样,但是在添加

config.middleware.insert_before ActionDispatch::ParamsParser, "SelectiveStack"

到 application.rb 它会抛出一个错误,说它找不到 SelectiveStack。

它也不会让我在 application.rb 中添加要求或包含来访问它,所以我想知道是否有人遇到过这个或有任何想法?

我可能只是格式错误或路径错误。

事实证明,来自其他堆栈溢出后中间件的ActionDispatch::P aramsParser实际上并不存在,并且错误的措辞有点混乱。

所以基本上要让它工作,你可以把你的中间件放在实际存在的中间件之前,或者只是使用

config.middleware.use 

而不是

config.middleware.insert_before

最新更新