2012-04-02 77 views
3

在我們想呈現/限制基於角色我們的API的不同部分我們澤西應用。具體而言,我們只想提供該角色可以訪問的資源的鏈接 - 即在準備響應時已經提供的鏈接A如果用戶不允許使用X,我們甚至不會提供到資源X的鏈接。解決什麼資源+方法的URI將匹配在澤西

爲了能夠區分那些我們希望能夠問新澤西鏈接將如何解決特定URI - 即哪些資源以及對資源的什麼方法。如果我們能做到這一點,我們也能夠檢測它是否以不允許訪問的方式(@RolesAllowed)進行註釋......因此,我們可以跳過添加鏈接到響應中的鏈接。顯然澤西有這方面的知識/能力,因爲它可以解決傳入的請求。

現在的問題是:有沒有一種方法來問澤西什麼樣的URI將解決類和方法?

編輯:是的......我們注意到有一個ResourceContext(可注射),它可以爲我們提供匹配的資源類......但我們仍然不能找到一個URI會解決什麼方法。

回答

0

有趣。我不認爲這是暴露默認服務,但假設您正在設置在web.xml球衣配置存儲在WebServletConfig和ServletContainer。我會看看這兩個課程的來源,看看有什麼可用的。至少你應該能夠在棧中進行子類的初始化並存儲你自己需要的信息。在類加載和註釋處理髮生時獲取映射而不是爲每個請求查找映射會更加實際。