2017-04-22 4 views
1

나는 사용자 정의 주석 @MyAnnotation에게Spring에서 어노테이션의 실행 순서를 어떻게 바꿀 수 있습니까?

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

을 그리고 난 내가 해요로 javax의에서 @Valid 주석 전에 내 사용자 지정 주석 @MyAnnotation을 실행하려는

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

으로 내 주석을 사용하고 있습니다 내 주석 구현시 일부 보안 검사를 수행하고 본문 유효성 검사를 수행하기 전에 수행해야합니다.

내 맞춤 주석의 우선 순위를 높여 @Valid 주석보다 먼저 실행되도록 할 수있는 방법이 있습니까?

답변

0

당신은 @Order 사용할 수 있습니다 https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/core/annotation/Order.html

비슷한 질문 : 사용자 정의 주석 등 모두 주석이 있고 주석에 당신의 순서를 제공 할 때 How to ensure annotations execution order in java?

+0

이 작동합니다. 하지만 문제는 여기에 우선 순위를 무시하여 내 사용자 정의 주석이 javax @valid 주석보다 먼저 실행되도록하는 방법입니다. 기본적으로 나는 검증 전에 사전 인증을 원한다. – SalmanKhan