retrofit 同时支持 xml 和 json
2025-02-23 14:01:20
retrofit 解析 json 是很简单的,但是,偶尔,只是偶尔,你也可能遇到解析 xml 的需求,而且最怕的是不同的接口返回的类型不一样,一个返回 json 一个 返回 xml,如何兼容?使用两个 retrofit 实例还是?本文将介绍一种更简单的办法。
自定义 convert
平时,我们可能这样写代码:
这里 GsonConverterFactory.create() 指定了使用 Gson 解析数据,我们完全可以自定义一个 convert ,类似这样:
|
|
注解类 ContentType.kt 是这样子的:
|
|
在需要的接口上可以这样子:
这里 @ContentType(DataType.XML) 指定了该接口返回的数据是 xml 的,不加这个注解或者加 @ContentType(DataType.JSON) 则是 JSON
最后更新于