Spring Conversion Service: jak przekonwertować ciąg do listy <MyType>?
Używam usługi Spring's Conversion Service i mam zarejestrowany własny konwerter:
public class MyTypeConverter implements Converter<String, MyType> {
@Override
public Currency convert(String text) {
MyType object = new MyType();
// do some more work here...
return object;
}
}
Teraz w mojej aplikacji mogę wykonać konwersję zString
doMyType
i działa dobrze:
@Autowired
private ConversionService cs;
public void doIt() {
MyType object = cs.convert("Value1", MyType.class);
}
Ale zauważyłem też na przykład, że mogę używać tego samego konwertera w moim kontrolerze MVC, a on też działa jakoś z listami:
@RequestMapping(method = RequestMethod.GET, value = "...")
@ResponseBody
public final String doIt(@RequestParam("param1") List<MyType> objects) throws Exception {
// ....
}
Więc jeśli to zrobięparam1=value1,value2
w kontrolerze otrzymujęList<MyType>
z dwoma elementami. Tak więc spring rozdziela ciąg przecinkami, a następnie konwertuje każdy element oddzielnie naMyType
. Czy można to zrobić programowo?
Potrzebowałbym czegoś podobnego:
List<MyType> objects = cs.convert("Value1,Value2", List<MyType>.class);