在类

时间:2016-07-22 13:50:14

标签: java spring spring-mvc spring-boot

我正在使用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请求中收集请求参数的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

您应该添加一个自定义转换器来实现Spring org.springframework.core.convert.converter.Converter&lt; String,EmployeeParams&gt; 并将其注册到Spring。

Spring documentation
This stack overflow issue还讨论了添加自定义转换器或格式化程序的一些细节。