gpt4 book ai didi

android - 在 Retrofit - Android 中使用 addConverterFactory 处理 Json 和 XML 响应

转载 作者:行者123 更新时间:2023-12-03 08:52:40 24 4
gpt4 key购买 nike

我期待我的应用程序中同时有 json 和 xml 响应。 Retrofit 2.0 允许您针对此类情况添加多个转换器工厂。

但似乎顺序在这里至关重要。在 SimpleXmlConverterFactory 之上添加 JacksonConverterFactory 使得 Retrofit 只接受 Json 响应,遇到 XML 时抛出异常,反之亦然。

下面是如何向您的 Retrofit Builder 添加多个 addConverterFactory 的代码 fragment 。

.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

最佳答案

您可以将多个转换器工厂合并为一个转换器工厂,请检查 this example来自改造样本。

关于android - 在 Retrofit - Android 中使用 addConverterFactory 处理 Json 和 XML 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57982106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com