Java Jersey客户端:字符串数组作为参数
我有一个restful Web服务,方法是: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
@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)
{
//一些代码
返回数据;
}