2016-04-08 16 views
0

Retrofit2とRxJavaを使用してJava 8 RESTクライアントの設定を調べています。 GsonConverterFactoryを使用すると、erverythingは期待どおりに動作します。 JacksonConverterFactoryに切り替えると、結果はまったく表示されません(ただし例外もありません)。ログによれば、REST呼び出し自体はOKです。Retrofit2 + RxJava + Jacksonがサイレントに失敗する

GitHubの完全な例。

+0

あなたはTestSubscriberでエラーイベントをチェックしましたか? – zsxwing

+0

ポインタありがとう! – netzwerg

答えて

1

RetrofitのJacksonConverterFactoryは、既定で(FeignのJacksonDecoderとは対照的に)未知のプロパティを無視しません。

falseに設定FAIL_ON_UNKNOWN_PROPERTIES機能とカスタムObjectMapperを設定する必要がある:

ObjectMapper jacksonMapper = new ObjectMapper().configure(FAIL_ON_UNKNOWN_PROPERTIES, false); 

Retrofit retrofit = new Retrofit.Builder() 
     .baseUrl("https://api.github.com/") 
     .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) 
     .addConverterFactory(JacksonConverterFactory.create(jacksonMapper)) 
     .build(); 
関連する問題