Spring中是否有任何自定义参数转换器。例如
@RequestMapping(value="/getEmployees/{"empName"}")
public void getEmployees(@PathVariable("empName") Employee employee)
{
}
从请求获取的路径变量是spring类型,根据给定的empName将其分配给Employee对象。在JAX-RS中,我们可以使用ParamConvertor和ParamConvertorProvider进行转换。转换器?
答案 0 :(得分:0)
是的,您可以在Spring中使用自定义参数转换器
1创建一个实现spring转换器接口的转换器组件
@Component
public class StringToRightsModeConverter implements Converter<String, RightsMode> {
@Override
public RightsMode convert(String s) {
try{
return RightsMode.valueOf(s);
} catch (Exception e) {
return RightsMode.getByCode(s);
}
}
}
2就这样。 Spring会自动将其用于String-> RightsMode类型转换
@GetMapping({"/periods"})
public List<Period> periods(
@RequestParam(required = false) RightsMode rightsMode) {
................................................................
}