您是否可以添加仅在请求上下文中可用的对象?

时间:2014-04-22 20:27:15

标签: scala playframework

在Spring(java)和.NET中,您可以在请求范围中添加对象吗?

即。用户发出请求,您在过滤器或基本控制器中执行一些查看,然后您可以将此对象添加到此当前请求的请求对象中

现在,在您的操作中,您可以检查密钥是否存在,并在操作方法中使用此对象。

2 个答案:

答案 0 :(得分:0)

在Play 2中Request是不可变的,所以你通常会将它们包装起来并传递它们而不是修改它们。

您通常会使用名为action composition的内容来执行您想要的操作。 Action组合允许您编写操作的公共代码,以便您可以预处理请求,并可以将请求中的一些数据传递给操作。

查看docs中的Authenticated示例,其中提供了AuthenticatedRequest对象的操作。 AuthenticatedRequest对象包装现有的Request(而非修改它)并添加额外的username值。

答案 1 :(得分:0)

正如Rich所说,您可以使用Action Composition,如果您想在Request上下文中添加更多信息,可以使用Http.current()。args.put(“key”,“value”)。