2010-12-01 77 views
2

是否有標準方式(JAX-RS)將REST URI解析爲服務器端資源?根據我的理解,我們最好提供一個完整的URI作爲資源的標識符。如果我想允許有人POST/PUT這樣一個文件創建/更改產品:JAX-RS:解析服務器上鍊接資源的URI

<product> 
    [...] 
    <categories> 
     <category>http://.../rest/categories/12</category> 
     <category>http://.../rest/categories/35</category> 
    </categories> 
</product> 

正如你所看到的,在類別引用它們的資源的URI。在服務器端,我現在必須將這些URI解析爲相應的資源。最簡單的方法是在服務器上爲服務創建一個客戶端,並對這些URI執行標準的GET請求。但我覺得這不應該是必要的。

有沒有一個標準的方法來做到這一點?有沒有CXF的方式來做到這一點?總是提供一個額外的ID是否更好?

感謝。

多米尼克

回答

0

我認爲你正在尋找 - http://jersey.java.net/nonav/apidocs/latest/jersey/com/sun/jersey/api/core/ResourceContext.html

它不是從CXF或JAX-RS,但是從澤西島。我用它來解析文檔,就像在你的例子中一樣。

將@Context注入到您的資源中以使用它。

+0

感謝您的回答。這正是我要找的。不幸的是我不能使用澤西島。我看到標準中有一個方法UriInfo.getMatchedResources()。這會有幫助嗎?我如何創建一個新的UriInfo實例? – raymi 2010-12-02 08:41:52