我想检查我的Global.class onRequest覆盖中的cookie,但是我收到一条错误“此处没有可用的HTTP上下文”。我知道这可能涉及某种行动构成,但我很坦率地对Play的文档和缺乏健全的例子感到沮丧。这就是我想要完成的事情。
我们非常感谢能够通过一些基本代码示例进行配方的大纲。
答案 0 :(得分:0)
我就是这样做的:
@With({EnrichWithUser.class})
public class CouponController extends Controller {
@With({EnrichWithUser.class})
public static Result test(){
return Results.ok("TEST");
}
}
整个控制器或一个特定方法应该用动作注释。在一个操作中,您可以访问会话。上面的代码并不代表您的场景,但您会明白这一点:
public class EnrichWithUser extends Action.Simple {
public Result call(Http.Context ctx) throws Throwable {
User user = (User)ctx.args.get("user");
if(user == null){
String email = ctx.session().get("email");
if(email != null){
user = User.findByEmail(email);
ctx.args.put("user", user);
}
} else {
//System.out.println("USER OBTAINED FROM SESSION");
}
return delegate.call(ctx);
}
}