2016-03-02 208 views
0

我使用Jersey服務器1.18工作,並且想要將ContainerResponseFilter添加到服務器。獲取Jersey服務器的ResourceConfig實例

爲了做到這一點,創建服務器時,而不是隻使用URL,喜歡這裏:

server = HttpServerFactory.create(BASE_URI); 

我還需要傳遞的ResourceConfig一個實例,像這樣:

server = HttpServerFactory.create(BASE_URI, resourceConfig); 

問題是,我不知道如何獲得澤西島默認使用的默認資源配置,所以我可以添加過濾器...

任何想法?

回答

1

看看ResourceConfig javadoc。如果您查看「直接已知子類」,您將看到摘要ResourceConfig的實現。如果您點擊該鏈接,您將看到更多的子類,並單擊這些鏈接並查看更多內容等。閱讀每個子類的jacdoc,然後決定哪個最適合您的需求。

例如,PackagesResourceConfig是一個實現,它允許您掃描@Path@Provider類的包以自動註冊。就在包(S)傳遞給構造函數

ResourceConfig config = new PackagesResourceConfig("the.packages", "to.scan"); 
+0

我想補充,我會想象默認的實現將是['ClasspathResourceConfig'](https://jersey.java.net/apidocs/1.17/jersey /com/sun/jersey/api/core/ClasspathResourceConfig.html),它將掃描整個類路徑。不是100%確定的,但它聽起來是對的。但是我只是使用'PackagesResourceConfig',因此它不會浪費時間掃描整個類路徑 –

+0

否,類路徑掃描不是默認選項。見https://jersey.java.net/nonav/documentation/1.17/user-guide.html第2.2章 –

+0

@Meiko是什麼節? –