我有一个方法的宁静的网络服务:
@GET
@Path("/get/{id}")
public Operation getData(@PathParam("id") String... id)
{
//some code
return data;
}
我注意到了MultivaluedMap,但这是针对查询参数的。
正如您所看到的,这里我只能添加一个id,而不是字符串数组。我的目标是添加数组作为参数。
WebResource resource = Client.create().resource(getBaseURI()).path("get").path(id);
如何(与客户端)传递Strings数组作为球衣的参数? 谢谢你的帮助。
答案 0 :(得分:1)
一般情况下,我只使用Collection
和@QueryParam
来解决这个问题。
类似的东西:
@GET
@Path("/get/")
public Operation getData(@QueryParam("id") Set<String> ids)
{
//some code
return data;
}
答案 1 :(得分:0)
According to JAX-RS specification,接收集合为@PathParam的唯一方法是将其作为PathSegment列表接收。
另一种方法是将所有String加入';'并将其作为单个String传递,然后在服务器端将其拆分
也。也许你可以切换到@QueryParam? @PathParam并非旨在将多个值作为单个参数传递。