我正在使用spring boot 1.3.6实现一个Web服务。在我的控制器中,我有一个方法,如:
@RequestMapping(value = "/employees/{id}", method = RequestMethod.PUT)
createEmployee(@PathVariable String id,
@QueryParam(required = false, value = "department") Set<String> departments)
我想在类中收集请求参数:
class EmployeeParams {
public String id;
public Set<String> departments;
}
我尝试使用:
@RequestMapping(value = "/employees/{id}", method = RequestMethod.PUT)
createEmployee(EmployeeParams param) { ... }
但它不起作用。我在上课而不是部门获得了id。在Spring请求中收集请求参数的正确方法是什么?
答案 0 :(得分:1)
您应该添加一个自定义转换器来实现Spring org.springframework.core.convert.converter.Converter&lt; String,EmployeeParams&gt; 并将其注册到Spring。
见Spring documentation。
This stack overflow issue还讨论了添加自定义转换器或格式化程序的一些细节。