java play动作组合委托给单独调用
我试图使用游戏中的动作合成来检查每个类方法中的登录用户,我无法找到在没有会话的情况下如何将用户重定向到登录屏幕
这是我的详细行动。爪哇
public class VerboseAction extends play.mvc.Action.Simple {
private static final play.Logger.ALogger log = play.Logger.of(VerboseAction.class);
public F.Promise<Result> call(Http.Context ctx) throws Throwable {
if(ctx.session().get("userEmail")!="" && ctx.session().get("userEmail")!=null)
return redirect(routes.UserSession.index());
else
return delegate.call(ctx);
}
}
我得到的错误是
error: incompatible types: Result cannot be converted to Promise<Result>
因为重定向是Result
类型
我该怎么解决这个问题
任何帮助都将不胜感激
# 1 楼答案
让它工作起来
return F.Promise.pure(redirect("/index"));
感谢this link