1
(我使用的是1.7澤西)ResourceFilterFactory和非路徑註釋資源
我試圖在我的項目中添加ResourceFilterFactory選擇哪些過濾器每使用方法的註釋中。
ResourceFilterFactory似乎能夠過濾使用Path註釋進行註釋的資源,但它似乎並未嘗試爲調用的資源的SubResourceLocator方法生成過濾器。
@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() { }
}
當跑,過濾器工廠將只要求如下: AbstractResourceMethod(A#的doGet) AbstractSubResourceLocator(A#getB)
當我預料到被調用的每個方法子資源。
我目前在我的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之前,您使用什麼URL來擊中B類中定義的子資源「doOtherGet()」? – Rosa
那將是/ a/b上的GET。就像我之前所說的,我一直在多臺開發機器上運行這個設置,並在大約一年的時間內生產。 – tousdan