[英]Handling both Json and XML response in Retrofit - Android using addConverterFactory
我期望在我的应用程序中同时响应json和xml。 Retrofit 2.0允许您为这种情况添加多个转换器工厂。
但是,这里的顺序似乎至关重要。 在SimpleXmlConverterFactory上方添加JacksonConverterFactory可使Retrofit仅接受Json响应,并在遇到XML时引发异常,反之亦然。
以下是如何将多个addConverterFactory添加到Retrofit Builder的代码片段。
.addConverterFactory(JacksonConverterFactory.create(objectMapper))
.addConverterFactory(SimpleXmlConverterFactory.create())
<<<编辑
将上面的代码更改为此,但仍然无法正常工作:
return new Retrofit.Builder()
.client(clientBuilder.build())
.baseUrl(BuildConfig.API_ENDPOINT)
.addCallAdapterFactory(unAuthorizedHandlingCallAdapterFactory)
.addCallAdapterFactory(RxErrorHandlingCallAdapterFactory.create())
.addConverterFactory(new QualifiedTypeConverterFactory(JacksonConverterFactory.create(objectMapper), SimpleXmlConverterFactory.create()))
.build();
EDIT2
添加响应类型是@GET (“ /”)@ Xml键
您可以将多个Converter Factory合并到一个Converter Factory
,从改造样本中查看此示例 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.