Java 一个URI模板形式的路径变量数量不限

Java 一个URI模板形式的路径变量数量不限,java,spring,rest,uritemplate,Java,Spring,Rest,Uritemplate,我现有的代码如下: @RequestMapping(value = "/{id}/{type}/{answer}", method = RequestMethod.GET) @ResponseBody public Results answer(@PathVariable("id") int questionId, @PathVariable int type, @PathVariable Boolean answer) { //do somet

我现有的代码如下:

@RequestMapping(value = "/{id}/{type}/{answer}", method = RequestMethod.GET)
@ResponseBody
public Results answer(@PathVariable("id") int questionId,
        @PathVariable int type,
        @PathVariable Boolean answer) {

        //do something
}
我希望能够添加使用任意数量的路径变量发出请求的功能,但保持与上面相同的模式,即/id/type/answer/id/type/answer/id/type/answer/…等等

因此,理想情况下,我希望能够创建一个能够支持以下两个URL的API调用:


有人有任何想法吗?

< P>根据你的评论,考虑创建两个端点:

/{id}/{type}/{answerId}返回特定的答案

/{id}/{type}/answers返回所有答案的数组

在检索多个答案的情况下,您确实应该使用查询参数来过滤结果。大概是这样的:


/{id}/{type}/answers?ids=1,2,3&types=A,B,C

我们刚刚离开了查询字符串参数。所以我们想继续使用路径变量。是的,唯一有多个值的变量是answers path变量。。。我们将为答案创建一个逗号分隔的列表。因此,理想情况下,我希望能够创建一个能够支持以下两个URL的API调用:@ShaunScovilI不认为可以使用@PathVariable来完成,它使用PathVariableMethodArgumentResolver来解析它的值。您可以通过扩展ArgumentResolver或子类AbstractNamedValueMethodArgumentResolver来实现自己的ArgumentResolver。一个人如何决定使用哪种模式?@Bart很好。表示第二个端点的/{id}/{type}/答案。我已经相应地编辑了我的答案。