2

次の残りのテンプレートがあります(サーバーへのjsonリクエストに使用されます):

public RestTemplate createRestTemplate() {
    RestTemplate restTemplate = new RestTemplate();

    GsonBuilder builder = new GsonBuilder();
    builder.registerTypeAdapter(Image.class, new ImageDeserializer());
    builder.registerTypeAdapter(MetaData.class, new MetaDataDeserializer());
    builder.registerTypeAdapter(Vector.class, new VectorsDeserializer());

    GsonHttpMessageConverter jsonConverter = new GsonHttpMessageConverter();
    jsonConverter.setGson(builder.create());

    FormHttpMessageConverter formHttpMessageConverter = new FormHttpMessageConverter();
    StringHttpMessageConverter stringHttpMessageConverter = new StringHttpMessageConverter();
    final List<HttpMessageConverter<?>> listHttpMessageConverters = restTemplate.getMessageConverters();


    listHttpMessageConverters.add(jsonConverter);
    listHttpMessageConverters.add(formHttpMessageConverter);
    listHttpMessageConverters.add(stringHttpMessageConverter);
    restTemplate.setMessageConverters(listHttpMessageConverters);
    return restTemplate;
}

何らかの理由で、デシリアライザーへの 3 回目の registerTypeAdapter 呼び出しVectorsDeserializerは何もしません。私はおそらくここで何かが欠けています。アイデア/説明は大歓迎です。

4

1 に答える 1

3

を使用しているとしますjava.util.Vector

私はそう、私は推測します、それはVector.class代わりにプレーンを使用しているためです

new TypeToken<Vector<Whatever>>() {}.getType()

登録で。

于 2014-08-28T03:50:18.783 に答える