我需要使用restful Web服务创建搜索操作,即使用@GET。方法签名将String和List作为输入参数并返回List。
public Generic List <Employer> getAllEmployer(String employeeName, Generic List <employeeLocation>);
如果有人可以描述如何实施相同的请求,请提出要求。我应该使用查询参数或路径参数或表格参数。我需要以json格式返回雇主名单。
答案 0 :(得分:-1)
如果员工位置只是字符串,则将它们作为逗号分隔值传递,spring将负责将其转换为列表。我宁愿建议将它作为一个路径参数而不是将它作为查询参数。
答案 1 :(得分:-1)
这只是我的意见,但我认为传递具有相同名称的多个参数的“RESTful”方式将是MultiValueMap。
Spring和Jersey都有MultiValueMap的实现,但下面是一个spring实现的例子:
@RequestMapping(method = RequestMethod.GET, value = {"/employer/_search"})
public List<Employer> search(@RequestParam MultiValueMap<String,String> params) {
return someService.search(params);
}
他们称之为这个网址的方式将成为:
/employer/_search?employeeName=name&location=1&location=2&location=3
然后在幕后,spring将为你创建一个Map<String,List<String>>
的MultiValueMap,其中任何具有相同名称的参数都放在同一个列表中。