2015-05-12 36 views
0

我正在使用RESTeasy庫在J2EE環境中開發一些REST服務。 如果我有此@POST REST方法:使用RESTeasy轉換客戶端發送的數據

@POST 
@Path("/filter") 
@Produces(MediaType.APPLICATION_JSON) 
@Consumes(MediaType.APPLICATION_FORM_URLENCODED) 
public List<Order> findOrders(
     @FormParam("orderfiltercriteria") OrderFilterCriteria orderFilterCriteria, 
     @FormParam("readcontext") OrderReadContext readContext, 
     @FormParam("querycontrol") QueryControl queryControl, 
     @FormParam("fetchpattern") FetchPattern fetchPattern, 
     @FormParam("loadpattern") LoadPattern loadPattern) 
{ 
    ... 
} 

假設客戶端通過一個形式發送這些數據,並假定這些是JSON字符串,我怎樣才能轉換(服務器端)在這些JSON串正確的方式?例如,「readcontext」字段的JSON字符串,如何可以正確轉換爲OrderReadContext對象?

我正在使用WidlFly 8.2進行部署。 在此先感謝。

回答

0

@FormParam文檔:

註釋參數的類型T必須要麼:

  1. 一個原始類型
  2. 有無接受單個字符串參數的構造
  3. 有一個名爲valueOf或fromString的靜態方法,它接受單個> String參數(例如,請參閱Integer.valueOf(String))
  4. 是List,Set或SortedSet,其中T滿足上面的2或3。結果集合是隻讀的。