2016-03-29 17 views
0

客戶端將以json格式發送請求。但是,看起來這個值不能通過@FormParam註釋獲得。我試圖改變@Consumes(MediaType.APPLICATION_FORM_URLENCODED),但它沒有奏效。@FormParam不支持'Content-Type':'application/json'

我應該在JAVA端做出哪種改變才能正確接收數據?

例如,JSON數據是

var postData = { 
    'uipath': 'xxx\abc\location1', 
    'value': 'Hello World!' 
}; 

的JAX-RS的方法是

@POST 
@Path(value = "/receive") 
public Object getValueFromUIPath(@Context UriInfo uriInfo, 
      @FormParam("uipath") String uiPath, 
      @FormParam("value") String value) { 
    ... 
} 
+0

你可以試試@ @Consumes(「application/json」)'?並看看這個工作 – Lucky

+0

json應該總是用雙引號。 –

+0

我也嘗試過「application/json」,但它不能用@FormParam註解。 – Iceglaze

回答

0

爲您的信息

  1. 使用消耗annotaion
  2. JSON應該是雙引號

和未來的答案,要創建JSON對象

{ 
    'uipath': 'xxx\abc\location1', 
    'value': 'Hello World!' 
} 

但是你想消耗兩串領域,而不是一個對象。你有兩個選項,消耗對象是否有兩個字段uipathvalue,或發送簡單值而不是json對象。