2017-04-22 4 views
1

J'ai une annotation personnalisée @MyAnnotationComment puis-je modifier l'ordre d'exécution des annotations au printemps?

@Documented 
@Retention(RetentionPolicy.RUNTIME) 
@Target({ ElementType.METHOD }) 
public @interface MyAnnotation { 
    String [] roles() default {}; 
} 

Et j'utilise mon annotation comme

@MyAnnotation 
@RequestMapping(value = "/test/xyz", method = RequestMethod.POST) 
@ResponseBody 
public String myFunc(@Valid TestClass test) { 
    return "Name: " + test.getName(); 
} 

Je veux exécuter mon annotation personnalisée @MyAnnotation avant l'annotation @Valid de Javax que je suis effectuer des vérifications de sécurité dans mon implémentation d'annotations et celles-ci doivent être effectuées avant de valider le corps.

Existe-t-il un moyen par lequel je peux augmenter la priorité de mon annotation personnalisée afin qu'elle soit exécutée avant l'annotation @Valid?

Répondre

0
+0

Cela fonctionne lorsque vous avez deux annotations que les annotations personnalisées et de vous fournir votre commande aux annotations. Mais le problème ici est de savoir comment remplacer la priorité pour que mon annotation personnalisée soit exécutée avant l'annotation javax @valid? Fondamentalement, je veux pré-autoriser avant de valider. – SalmanKhan