Play 框架中的中间件 (Java)

Middleware in Play framework (Java)

我有使用 express js 框架进行 web 编程的经验 这是我第一次在 java

学习 playframework

如何在play框架中制作中间件

像往常一样,我使用 express js 只是在路由中的控制器前面添加中间件

像这样的例子

router.get('/all/:key' , user_mid.login, ctrl_post.all)

user_mid.login = 是我的中间件 ctrl_post.all = 是我处理请求的控制器方法

那么如何在play框架中制作中间件

Play没有中间件这个概念。

在 Play Java 中,Result 由扩展 Action(或控制器)抽象 class 的 classes 返回。我为什么要告诉你这个?好吧,因为你可以编写动作。一个动作可以将请求转发到下一个动作,然后再转发到下一个动作,反之亦然。 Play 对这个概念有很好的支持:Action composition .

这分为三个步骤:

  1. 通过扩展(通常)定义一个动作 play.mvc.Action.Simple .
  2. @With 和新创建的 class 注释控制器中的方法。这样你就组成了两个动作。如果您有多个注释,它们将按照 @With 注释出现的顺序调用。
  3. (可选)为操作定义您自己的注释。