Spring の変換サービスを使用しており、独自のコンバーターを登録しています。
public class MyTypeConverter implements Converter<String, MyType> {
@Override
public Currency convert(String text) {
MyType object = new MyType();
// do some more work here...
return object;
}
}
私のアプリケーションでは、 からString
への変換を行うことができMyType
、うまく機能します。
@Autowired
private ConversionService cs;
public void doIt() {
MyType object = cs.convert("Value1", MyType.class);
}
しかし、たとえば、MVC コントローラー内で同じコンバーターを使用できることにも気付きました。リストでも何とか動作します。
@RequestMapping(method = RequestMethod.GET, value = "...")
@ResponseBody
public final String doIt(@RequestParam("param1") List<MyType> objects) throws Exception {
// ....
}
したがってparam1=value1,value2
、コントローラーで送信するList<MyType>
と、2 つの要素を含む を受け取ります。そのため、Spring は文字列をコンマで分割し、各要素を個別に に変換しますMyType
。これをプログラムでも行うことは可能ですか?
次のようなものが必要です。
List<MyType> objects = cs.convert("Value1,Value2", List<MyType>.class);