我正在研究一个Java 8 REST客户端设置,它使用了Reformation2和RxJava。使用GsonConverterFactory
服务器时,一切正常。当切换到JacksonConverterFactory
时,我根本看不到任何结果(但也不例外)。根据日志,REST调用本身是可以的
GitHub上的完整示例。
默认情况下,改装的JacksonConverterFactory
不会忽略未知属性(与例如Feign的JacksonDecoder
相反)。
因此,有必要配置自定义ObjectMapper
,其中FAIL_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();