2011-10-04 4 views
0

JAX-RS 기반 (RESTEasy) Java 주석을 사용하여 리소스 메소드에 URL 등으로 레이블을 붙이는 REST 서버가 있습니다. 예를 들어 메소드에 주석주석으로 레이블 된 메소드로 자바에서 Aspect-Orient-Programming 사용하기

@javax.ws.rs.GET 
@javax.ws.rs.Path("https://stackoverflow.com/users/{user_id}") 
public Response getUser(...) 

클라이언트가 GET /users/1234 HTTP/1.1 URL을 호출하면 자동으로 호출됩니다.

내 리소스 메서드에 로깅, 보안 검사, 쿼리 매개 변수 유효성 검사 등 모든 방법으로 실행해야하는 "일반"논리가 점점 더 많아지고 있음을 알았습니다.이 방법은 Aspect-Orient-Programming (AOP),하지만 전에이 기술을 사용하지 않았습니다. AOP 프레임 워크 중 하나를 사용하면 JAX-RS 드라이버가 내 리소스 메서드를 찾을 수 있도록 내 주석 "레이블"이 보존됩니까? 내 요구 사항에 맞는 AOP 프레임 워크는 무엇입니까?

답변

1

AspectJ은 요구 사항을 충족합니다. AspectJ는 주석을 변경하거나 제거하지 않고 주석 된 메소드의 호출 또는 실행을 가로 챌 수 있습니다.

예를 들어 JPA 엔티티에서 AspectJ를 사용했고이 클래스는 Hibernate에서 계속 볼 수있었습니다.

관련 문제