状況:listingTypeの値が列挙型の値を表すものではありませんいくつかの文字列である場合キャメル::ジェネリックリスト<Enum>コンバータ
@Handler
public void handle(@Header("type") List<ListingType> listingType) {
System.err.println(listingType);
}
...
public enum ListingType {
TYPE_A,
TYPE_B
}
、キャメル> <文字列を一覧表示するためにそれを解決します。例えば
は、listingTypeは= "foo" という
System.err.println(listingType);
=> ["foo"]
場合、私はFallBackConverter
@FallbackConverter
public static <T> Object convertTo(Class<T> type, Exchange exchange, Object value, TypeConverterRegistry registry) {
Class<?> concreteClass = ...
if (List.class.isAssignableFrom(type) && concreteClass.isEnum()) {
...
}
}
カスタムでそれをしようと試みた。しかし、どのように私は、リストの具体的なジェネリック型を得ることができますか?
編集:
または列挙型の具体的なリストに文字列を変換するために、別の解決策はありますか?
私は毎回それを実装したくありません。そのCamelはTypeConvertersを提供しています。 –
@BenKeil StringからListTypeへの通常のTypeConverterは動作しますか?もしそうなら、私は文字列をhederに追加する前に文字列を変換しようとします。 –
いいえ動作しません。 –