我实现了一个rest查询,如下所示:
@Path("list")
@GET
public List<Todo> getTodos(@Context UriInfo uriInfo){
MultivaluedMap<String, String> queryParameters = uriInfo.getQueryParameters();
List<String> parameterList = queryParameters.get(assignee.name); //Output -> name1,name2 parameterList -- size -1
String parameter = queryParameters.getFirst(assignee.name); //Output -> name1,name2
.
.
.
}
当多个参数
http://localhost:9090/hello-todo/api/v1/todo/list?assignee.name={name1,name2}
这里不是两个字符串,而是一个字符串。我应该如何处理它,应该用逗号(,)分隔参数String吗?
时间
目前它可以处理这些端点。
http://localhost:9090/hello-todo/api/v1/todo/list
http://localhost:9090/hello-todo/api/v1/todo/list?status=CRITICAL
http://localhost:9090/hello-todo/api/v1/todo/list?status=MAJOR
http://localhost:9090/hello-todo/api/v1/todo/list?status={criticality}&todo.completion.status=completed
http://localhost:9090/hello-todo/api/v1/todo/list?status={criticality}&todo.completion.status=completed&todo.title={title}
http://localhost:9090/hello-todo/api/v1/todo/list?status={criticality}&todo.completion.status=completed&todo.title={title}&todo.startDate={startDate}
1条答案
按热度按时间gv8xihay1#
如果希望
queryParameters.get(assignee.name);
返回列表,则可以在URL中多次包含该参数http://localhost:9090/hello-todo/api/v1/todo/list?assignee.name=name1&assignee.name=name2
或者,您可以继续使用单个参数(
list?assignee.name=name1,name2
)并在,
上拆分,但您必须编写代码来执行此操作,并考虑当您的某个名称中包含,
字符时该如何处理。