2016-04-08 63 views
0

我在調查Java 8 REST客戶端安裝,使用Retrofit2和RxJava。當使用GsonConverterFactory時,所有事情都按預期工作。當切換到JacksonConverterFactory時,我根本沒有看到任何結果(但也沒有例外)。根據日誌,REST調用本身是可以的。Retrofit2 + RxJava + Jackson默默無聞

關於GitHub的完整示例。

+0

你檢查TestSubscriber錯誤事件? – zsxwing

+0

感謝您的指針! – netzwerg

回答

1

改造的JacksonConverterFactory默認情況下不會忽略未知屬性(與例如Feign的JacksonDecoder相反)。

因此,有必要配置自定義ObjectMapperFAIL_ON_UNKNOWN_PROPERTIES功能設置爲false

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(); 
相關問題