如何在restful webservice中接收动态值

时间:2016-02-02 14:27:05

标签: rest wsdl jax-rs java-ee-6 restful-url

@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)

示例:

@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 个答案:

答案 0 :(得分: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
    },
    ...
  ]
}