如何在 restful 网络服务中接收动态值
How to receive dynamic values in restful webservice
@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 可能允许参数的占位符动态更改?
我认为 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
},
...
]
}
@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 可能允许参数的占位符动态更改?
我认为 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
},
...
]
}