2017-07-12 57 views
0

我有一個看起來像這樣的路線:如何將多個路徑參數合併成一個對象

/foobar/123/2 

而且我想用這三個參數,以獲得一個單一的對象,這樣我可以使用這樣的:

@Path("/{type}/{id}/{version}") 
public Response getEntity(Entity entity); 

相反的:

@Path("/{type}/{id}/{version}") 
public Response getEntity(@PathParam("type") Type type, @PathParam("id") Long entityId, @PathParam("version") Long version); 

ParamConverter看起來很有希望,但它可以在只處理一個String不是三個。還有什麼我可以嘗試?

回答

0

我相信你不走運。

JSR-000339的「Java(TM)API,用於REST Web服務2.0評價最終版本」

的支持以下類型

  1. 類型爲其中ParamConverter是通過註冊ParamConverterProvider可用。有關更多信息,請參閱Javadoc獲取這些類。
  2. 原始類型
  3. 具有接受單個String參數的構造函數的類型。
  4. 類型有一個名爲valueOf或fromString的靜態方法,它帶有一個返回該類型實例的String參數。如果兩種方法都存在,那麼必須使用valueOf,除非類型是一個枚舉,在這種情況下fromString必須被使用。
  5. 列表中,設置,或SortedSet的,其中T滿足3或4以上
相關問題