2016-02-02 6 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) 

Пример:Как получить динамические значения в успокоительной WebService

@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 

вебсервис предполагается собрать и поместить элементы в массиве.

Так что моя проблема в том, что 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 
    }, 
    ... 
    ] 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^