Retrofit2 + RxJava + Jackson 默默失败

Rah*_*thy 0 java jackson rx-java retrofit2

我正在研究使用 Retrofit2 和 RxJava 的 Java 8 REST 客户端设置。使用时GsonConverterFactory一切都会按预期进行。当切换到 a 时JacksonConverterFactory,我根本看不到任何结果(但也不例外)。根据日志,REST 调用本身是正常的。

GitHub上的完整示例。

Rah*_*thy 5

默认情况下, RetrofitJacksonConverterFactory不会忽略未知属性(与 Feign 等相反JacksonDecoder)。

因此,有必要将自定义配置的ObjectMapper功能设置FAIL_ON_UNKNOWN_PROPERTIESfalse

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();
Run Code Online (Sandbox Code Playgroud)