retrofit
を使用するプロセスでは、通常、サーバーが response
のいずれかを返します。
次と同じ大きさ
の result
はリクエストする必要があるデータなので、apis
を記述するときは
ここでの 結果
は実際のニーズに応じて取得されます。これが事実であれば、比較的簡単です。
ただし、サーバーから返された result
フィールドの値が暗号化されている場合、現時点では直接解析することはできません。今考えられる方法は、 にインターセプターを追加することです。 okhttp
、返されたデータのフィールドを直接変更します(ただし、まだ方法がわかりません)今、私の考えがあまり良くないように感じています。解決する方法があるかどうか尋ねたいです。 ConverterFactory
?
ありがとうございます。このような状況は珍しいことではないと思うので、専門家に質問したいと思います。ありがとうございます。
滿天的星座2017-06-05 11:13:02
レトロフィット暗号化と復号化にはインターセプターを使用し、データ プロトコル分析には Converter.Factory を使用することを検討できます。
カスタムデータプロトコルの手順:
Converter.Factory
, 参考retrofit2.converter.gson.GsonConverterFactory
Retrofit.Builder#addConverterFactory(Converter.Factory)
+RxJava(RxAndroid)です。手順は次のとおりです。
カスタマイズされた
CallAdapter.Factory
, 参考retrofit2.adapter.rxjava.RxJavaCallAdapterFactory
Retrofit.Builder#addCallAdapterFactory(CallAdapter.Factory)
淡淡烟草味2017-06-05 11:13:02
一般に、ジェネリック T は、実際にサーバーから返されたエンティティを表すために Result で使用されます。あなたが言ったように、最初にインターセプターを使用して結果をデコードし、それから gson で直接解析できます
。