Java 减少游戏2中的样板文件控制器方法
我有一个游戏控制器,它有两种非常相似的方法。我想知道如何减少样板文件:Java 减少游戏2中的样板文件控制器方法,java,playframework-2.0,Java,Playframework 2.0,我有一个游戏控制器,它有两种非常相似的方法。我想知道如何减少样板文件: public static Result foo() { // boilerplate if (!PREVIEW) { return redirect(routes.Application.login()); } // other code ... return ok("..."); } public static Result bar() { // boilerplate if (
public static Result foo() {
// boilerplate
if (!PREVIEW) {
return redirect(routes.Application.login());
}
// other code
...
return ok("...");
}
public static Result bar() {
// boilerplate
if (!PREVIEW) {
return redirect(routes.Application.login());
}
// other code
...
return ok("...");
}
预览
是配置设置的简写。我创建了一个如下操作:
public class PreviewAction extends Action.Simple {
public F.Promise<Result> call(Http.Context ctx) throws Throwable {
if (!PREVIEW) {
return F.Promise.pure(redirect(routes.Application.login()));
}
return delegate.call(ctx);
}
}
更多信息:
感谢Tunaki为我指明了正确的方向。我不知道怎么玩,但也许你可以添加一个拦截器,它可以执行
if
检查(我会用Spring这样做)?@Tunaki听起来不错。如何在Play2框架中仅对一个控制器使用拦截器?我从未使用过Play,因此只能指向@biesior Will do。“这需要两天的时间,所以我可以回答我自己的问题。”比西尔说。显然,2天的限制已经取消了。
@With(PreviewAction.class)
public static Result foo() {
...
}