我正在开发一个带有播放框架工作的scala应用程序,我已经创建了一个过滤器来过滤来自外部服务器的每个请求,但现在我仍然坚持如何在两天后按需运行过滤器,我有80个API中有30个需要运行特定的过滤器,如何在这样的请求中读取请求路径模板
GET /api/v1/:locale/:uuid core.controllers.MyClass.myAction1(locale: String)
GET /api/v1/:locale/:uuid/MyRoute core.controllers.MyClass.myAction2(locale: String)
GET /api/v1/:locale/:uuid/Foo core.controllers.MyClass.myAction3(locale: String)
GET /api/v1/:locale/orders/:orderId core.controllers.MyClass.myAction4(locale: String)
好吧,那些路线都放在路线文件中, 在过滤器我需要检查天气,如果路线有:uuid 变量或:orderId ,以便运行其特定的过滤器,因为他们的两个ID,我把它们作为uuid所以我无法期待这个请求,我能阅读路线模板吗?
答案 0 :(得分:1)
您可以从ff1: Warning: Authentication failure. Retrying...
:
RequestHeader#attrs
答案 1 :(得分:1)
如果要选择80个动作中的30个来运行某些通用逻辑,您还可以考虑使用“动作构建器”来提供该逻辑。
当您使用Action { ... }
时,您会获得一个香草行动。您也可以创建自己的MyAction { ... }
包装正常Action
并运行自定义逻辑。这是ActionBuilder
。如果您使用此方法,则只需更新30个操作即可使用该自定义操作构建器。
请参阅:https://www.playframework.com/documentation/2.6.x/ScalaActionsComposition#Custom-action-builders