是否可以使用可变数量的 URI 参数配置 JAX-RS 方法?

2022-01-21 00:00:00 rest web-services java jax-rs jersey

是否可以配置 GET 方法来读取可变数量的 URI 参数并将它们解释为可变参数(数组)或集合?我知道查询参数可以读取为列表/集合,但在我的情况下我不能使用它们.

is it possible to configure GET method to read variable number of URI parameters and interpret them either as variable argument (array) or collection? I know query parameters can be read as list/set but I can't go for them in my case.

例如:

@GET
@Produces("text/xml")
@Path("list/{taskId}")
public String getTaskCheckLists(@PathParam("taskId") int... taskId) {
    return Arrays.toString(taskId);
}

提前致谢

推荐答案

如果我正确理解你的问题,@Path 注释可以采用正则表达式来指定路径组件列表.例如,类似:

If I understand your question correctly, the @Path annotation can take a regular expression to specify a list of path components. For example, something like:

@GET
@Path("/list/{taskid:.+}")
public String getTaskCheckLists(@PathParam("taskid") List<PathSegment> taskIdList) {
    ......
}

这里有一个更广泛的例子.

相关文章