我有这个控制器。
@With(SecuredAction.class)
public class Application extends Controller {
public void hasSomeMethods(){ return ok("blah blah");}
}
注释指向什么基本上是安全问题的拦截器。
public class SecuredAction extends Action.Simple {
@Override
public F.Promise<Result> call(Http.Context context) throws Throwable {
return delegate.call(context);
}
}
如何在合成中添加第二个动作 - 比如一个名为LoggedAction的动作? 使用@With注释SecuredAction似乎不起作用,而@With只允许一个类。我是否需要使用自定义注释?
答案 0 :(得分:2)
@With
定义为:
public @interface With {
java.lang.Class<? extends play.mvc.Action<?>>[] value();
}
所以这样的事情应该有效:
@With({SecuredAction.class, LoggedAction.class})
public class Application extends Controller {
public Result hasSomeMethods(){ return ok("blah blah");}
}