我想使用提供的多个ID来显示有关子部门的信息。这就是我所拥有的。现在,具有多个参数的url示例是什么?我试过逗号,斜线但没有工作
@Path( "{id: .*}" )
@GET
public Collection< SubDepartmentDTO > findMultiple ( @PathParam ( "id" ) List<Integer> idList ) {
Map< Integer, SubDepartmentDTO > subList = new LinkedHashMap<>();
int index = 0;
while( index < idList.size() ){
subList.put( idList.get(index), SubDepartmentDAO.findOne ( idList.get(index) ) );
index++;
}
return subList.values();
}
答案 0 :(得分:0)
您无法使用数组作为路径参数,请参阅docs,特别是:
带注释的参数,字段或属性的类型必须:
- 是PathSegment,该值将是匹配的最后一段 路径的一部分。请参阅UriInfo以获取检索所有请求的方法 路径段。
- Be List,该值将是与命名模板匹配的路径段对应的PathSegment列表 参数。有关检索所有请求路径的方法,请参阅UriInfo 段。
- 是一种原始类型。
- 有一个接受单个String参数的构造函数。
- 有一个名为valueOf的静态方法,它接受一个String参数(例如,参见Integer.valueOf(String))。
如果你想要实现的目标/resource/id/subid/subsubid
那么回答这个question会对你有帮助。
但是,如果这种层次结构在您的情况下没有意义,并且您希望获得同一级别的部门列表(即subid1,subid2等),那么您可能希望使用query parameter代替路径参数。