2016-02-02 80 views
0
@POST 
@Consumes({"application/x-www-form-urlencoded","application/json","application/xml"}) 
@Produces(MediaType.TEXT_HTML) 
public String returnItemLookup(
     @HeaderParam("authSessionID")String header, 
     @PathParam("item_{the number of the item here}_name")String item_name, 
     @PathParam("item_{the number of the item here}_quantity")int item_quantity) 

實施例:如何接收動態值在寧靜的web服務

@PathParam("item_1_name")String item_name, 
@PathParam("item_1_quantity")int item_quantity, 
@PathParam("item_2_name")String item_name, 
@PathParam("item_2_quantity")int item_quantity, 
@PathParam("item_3_name")String item_name, 
@PathParam("item_3_quantity")int item_quantity 

的web服務應該收集,並把這些項的數組。

所以我的問題是,我使用哪個param可能允許參數的佔位符動態改變?

回答

1

我認爲用JAX-RS是不可能的。 您應該在參數對象中包裝名稱和數量。 然後你的方法應該接受的參數列表:

@POST 
@Consumes(MediaType.APPLICATION_JSON) 
public String returnItemLookup(List<Parameter> parameters) 
{ 
... 
} 

你的JSON應該是這樣的:

{ 
    "parameters": [ 
    { 
     "item_name": value1, 
     "item_quantity": value2 
    }, 
    { 
     "item_name": value3, 
     "item_quantity": value4 
    }, 
    ... 
    ] 
}