I'm a little late to the party. afaik there is no built-in annotation, but you can easily write one:
annotations / HttpMethod.java
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface HttpMethod{
String method() default "POST";
}
Controllers / Global.java
public class Global extends Controller{
@Before
public static void before(){
if( getActionAnnotation( HttpMethod.class ) != null ){
HttpMethod method = getActionAnnotation( HttpMethod.class );
if( !method.method().equals( request.method ) ){
error( "Don't be evil! " );
}
}
}
}
use: Controllers /Admin.java
@With({Global.class, Secure.class})
public class Admin extends Controller {
@HttpMethod(method="POST")
public static void save( MyModel model ){
}
}
source
share