1
(I 저지 1.7을 사용하고 있습니다)ResourceFilterFactory 및 비 경로 주석 자원
나는 방법을 사용하여 주석 당 사용되는 필터를 선택 내 프로젝트에 ResourceFilterFactory을 추가하려고하고있다.
ResourceFilterFactory는 경로 주석으로 주석 처리 된 리소스를 필터링 할 수 있지만 호출 된 리소스의 SubResourceLocator 메서드에 대한 필터를 생성하지 않는 것으로 보입니다. (A #이 getB)
내가 예상
이 모든 방법에 대해 호출 될 AbstractResourceMethod (A #의의 doGet) AbstractSubResourceLocator :@Path("a")
public class A {
//sub resource locator?
@Path("b")
public B getB() {
return new B();
}
@GET
public void doGet() {}
}
public class B {
@GET
public void doOtherGet() { }
@Path("c")
public void doInner() { }
}
경우는 필터 공장은 다음의 요구되며, 실행 하위 리소스
현재 web.xml에 다음 옵션을 사용하고 있습니다.
<init-param>
<param-name>com.sun.jersey.spi.container.ResourceFilters</param-name>
<param-value>com.my.MyResourceFilterFactory</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.my.resources</param-value>
</init-param>
필터 공장에 대한 나의 이해에 결함이 있습니까?
저는이 클래스 설정을 꽤 많이 실행하고 있으며 ResourceFilterFactory를 사용하여 문제가 발생했습니다. 예제와 내 코드의 유일한 차이점은 하위 클래스가 @Produces로 주석 처리된다는 것입니다. – tousdan
이전에 일을했다는 사실은 저에게 매우 이상합니다. ResourceFilterFactory를 구현하기 전에 B 클래스에 정의 된 하위 리소스 "doOtherGet()"을 공격하기 위해 사용했던 URL은 무엇입니까? – Rosa
은/a/b에서 GET됩니다. 이전에 말했듯이, 나는 여러 가지 개발 기계에서 그리고 1 년 동안 생산중인이 설치 프로그램을 실행 해왔다. – tousdan