私は同様のことを知っています。questionが尋ねられましたが、私のケースは少し異なります。Retrofit 2のカスタムコンバーターの提供方法
私はを暗号化しました。応答は復号化されたときにXML
応答(復号化が実装されています)となります。だから私はSimpleXmlConverterFactory
を使用することはできません。 Retrofit
と私はレスポンスの本文にアクセスできませんので、私はそれを解読できません。しかし、もし私が何らかの形で応答本体にアクセスすることができれば(それはおそらくコンバータの工場で何か他の方法で)解読されたXML
に変更して、私はRetrofitを使い続けることができます。
私は研究をしました。私はConverter.Factory
をよく理解していませんが、これを無効にするか、SimpleXmlConverterFactory
を上書きして目標を達成する方法があると思います。しかし、私はソースコードなしでそれを行うことはできません。
これは私の質問です。私はRetrofitを使用して何らかの手段で応答String
にアクセスして解読できますか?
私はそれを管理することができますが、私はRetrofitを使用し続けることができる場合は、HttpURLConnection
に切り替える必要があります。この暗号化されたレスポンスは単一のコールレスポンスであるため、私はこれをやりたくありません。
はい私は既にその部分に手をつけています。シリアライザは 'ResponseBody'から入力パラメータとしてリーダを受け取ります。私は文字列を単純に渡すことはできません。私は一時ファイルを作成してストリームを提供することを考えましたが、それをまだ実装していません。 – Abbas
@Abbas 'ResponseBody'からのバイトストリームまたはcharstreamを取り出し、復号化します。 シリアライザStringまたはInputStreamに送信することができます。http://simple.sourceforge.net/download/stream/doc/javadoc/org/simpleframework/xml/Serializer.html – DeKaNszn
あなたはすでにレスポンスを復号化しているとはわかりませんしかし、私はソース(この場合はおそらくキャッシュ)の値を変更できませんでした。しかし、 'org.simpleframework.xml.Serializer'の中でメソッドを見つけました。ここで' source'は 'String'として扱われます。だから私はすべて設定されています。しかし、返信をありがとう。 – Abbas