如何提供Custom Converter for Retrofit 2

时间:2017-06-29 09:43:24

标签: java android retrofit2

我知道有类似的question被问到并回答了,但我的情况有点不同。

我有一个加密响应,当解密时会产生XML响应(解密已实现)。所以我无法使用SimpleXmlConverterFactory。由于Retrofit我无法访问响应正文,因此我无法对其进行解密。但是,如果我能以某种方式访问​​响应主体(可能在转换器工厂中或通过其他方式)并将其更改为解密的XML,我可以继续使用Retrofit。

所以我做了我的研究;虽然我不太了解Converter.Factory我认为可能有办法通过覆盖这个或SimpleXmlConverterFactory来实现我的目标。但是如果没有源代码我就无法做到。

所以我的问题是:我可以通过任何方式使用Retrofit访问和解密响应String吗?

如果我可以管理,那么我可以继续使用Retrofit,否则我将不得不切换到HttpURLConnection。我不想这样做,因为这个加密的响应是针对单个呼叫响应的。

1 个答案:

答案 0 :(得分:0)

您可以使用SimpleXmlConverter的来源编写自定义转换器。 您应该使用convertRequestBodyConverter

ResponseBodyConverter方法添加解密/加密