我想使用HTTP請求具有一個版本REST API頭:版本REST API + JAXRS 2.0
GET/someResource
版本:1.0
現在,如果我有這個資源的兩個版本,我的JaxRS Web應用程序需要能夠提供適合於任何一個請求版本的響應。因此我希望下面的類是我的類路徑的一部分:
@Path("/someResource")
public class SomeResourceV1 {
**snip**
}
和
@Path("/someResource")
public class SomeResourceV2 {
**snip**
}
現在,我想這取決於版本頭請求分派到這些資源類中的一個。我假設這將使用servlet過濾器來完成。但是因爲我使用的是Guice,我認爲我要找的是每個請求注入器。
請求是否已與綁定SomeResourceV1 1.0版使用注射器否則,如果要求有綁定SomeResourceV2
我認爲有一種方式來獲得我想要的東西通過繼承GuiceFilter 2.0版使用注射器,但我米不完全確定。有沒有人嘗試過這樣的事情?
感謝澤維爾,我想到了媒體的類型,但我傾向於同意wtih喬:HTTP:/ /stackoverflow.com/a/11923744/1028367另外,我並不喜歡在同一個類中混合使用2個版本的代碼的想法,我可能會不小心改變了V1代碼路徑上的某些事情,從而無意中破壞了V1消費者。就像沒有V1綁定或暴露爲一個jaxrs資源,如果V2被請求。 –