Jersey 프레임 워크로 작성된 REST 엔드 포인트가 있습니다. params를 검사하기 위해 어떤 저지 GET/POST를 잡는 AspectJ pointcut을 만들고 싶습니다. 서블릿의 경우는 쉬웠다 : 여기 AspectJ로 Jersey POST/GET 요청을 잡는 방법은 무엇입니까?
"call(public java.lang.String javax.servlet.ServletRequest.getParameter(java.lang.String))"
는 뉴저지 REST 엔드 포인트의 코드입니다 :
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.xml.bind.annotation.XmlRootElement;
@Path("/test/{username}")
public class JerseyTest {
@XmlRootElement
public static class BigTest {
public String name;
}
@GET
@Produces("text/plain")
public String getHello(BigTest test, @PathParam("username") String username) {
return "hello " + username;
}
}
이 방법이 효과적입니다. 죄송합니다, 카르마의 부족으로 upvote 수 없습니다. – sergeSF
저는 실제로 뭔가 다른 것을했습니다 : Jersey를 통해 디버거를 밟아서 HttpServletRequest.getQueryString(), getPath(), getRequestURL() getRequestURI를 사용한다는 것을 알았습니다. 이미 대부분의 규칙이 있었기 때문에 나머지 규칙을 추가하는 것이 매우 빠릅니다. – sergeSF