Java Jersey客户端:字符串数组作为参数

Java Jersey客户端:字符串数组作为参数,java,rest,jersey,jersey-client,Java,Rest,Jersey,Jersey Client,我有一个restful Web服务,方法是: @GET @Path("/get/{id}") public Operation getData(@PathParam("id") String... id) { //some code return data; } 我注意到多值映射,但这是用于查询参数的 如您所见,这里我只能添加一个id,而不是字符串数组。我的目标是添加数组作为参数 WebResource resource = Client.create().resourc

我有一个restful Web服务,方法是:

@GET
@Path("/get/{id}")
public Operation getData(@PathParam("id") String... id) 
{
    //some code
    return data;
} 
我注意到多值映射,但这是用于查询参数的

如您所见,这里我只能添加一个id,而不是字符串数组。我的目标是添加数组作为参数

 WebResource resource = Client.create().resource(getBaseURI()).path("get").path(id);
如何(使用客户端)将字符串数组作为参数传递给jersey? 感谢您的帮助。

,以@PathParam形式接收集合的唯一方法是以PathSegment列表的形式接收集合。
另一种方法是用“;”连接所有字符串并将其作为单个字符串传递,然后在服务器端拆分它。

也。也许你可以切换到@QueryParam@PathParam的设计目的不是将多个值作为单个参数传递。

通常,我通过使用
集合
@QueryParam
解决了这个问题

比如:

@GET
@Path("/get/")
public Operation getData(@QueryParam("id") Set<String> ids) 
{
    //some code
    return data;
}
@GET
@路径(“/get/”)
公共操作getData(@QueryParam(“id”)设置id)
{
//一些代码
返回数据;
}