Spring Conversion Service: como converter String para List <MyType>?
Estou usando o Spring's Conversion Service e tenho meu próprio conversor registrado nele:
public class MyTypeConverter implements Converter<String, MyType> {
@Override
public Currency convert(String text) {
MyType object = new MyType();
// do some more work here...
return object;
}
}
Agora no meu aplicativo eu posso fazer a conversão deString
paraMyType
e funciona bem:
@Autowired
private ConversionService cs;
public void doIt() {
MyType object = cs.convert("Value1", MyType.class);
}
Mas eu também notei, por exemplo, que eu posso usar o mesmo conversor dentro do meu MVC Controller, e de alguma forma funciona com listas também:
@RequestMapping(method = RequestMethod.GET, value = "...")
@ResponseBody
public final String doIt(@RequestParam("param1") List<MyType> objects) throws Exception {
// ....
}
Então, se eu enviarparam1=value1,value2
no controlador eu recebo umList<MyType>
com dois elementos. Então, o Spring divide a String por vírgulas e depois converte cada elemento separadamente paraMyType
. É possível fazer isso programaticamente também?
Eu precisaria de algo semelhante como este:
List<MyType> objects = cs.convert("Value1,Value2", List<MyType>.class);