レトロフィットは暗号化フィールドのデータ型解決をどのように処理しますか?
伊谢尔伦
伊谢尔伦 2017-06-05 11:11:02
0
2
636

retrofit を使用するプロセスでは、通常、サーバーが response のいずれかを返します。
次と同じ大きさ

リーリー

result はリクエストする必要があるデータなので、apis を記述するときは

と記述できます。 リーリー

ここでの 結果は実際のニーズに応じて取得されます。これが事実であれば、比較的簡単です。

ただし、サーバーから返された result フィールドの値が暗号化されている場合、現時点では直接解析することはできません。今考えられる方法は、 にインターセプターを追加することです。 okhttp 、返されたデータのフィールドを直接変更します(ただし、まだ方法がわかりません)今、私の考えがあまり良くないように感じています。解決する方法があるかどうか尋ねたいです。 ConverterFactory?

をカスタマイズする

ありがとうございます。このような状況は珍しいことではないと思うので、専門家に質問したいと思います。ありがとうございます。

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全員に返信(2)
滿天的星座

暗号化と復号化にはインターセプターを使用し、データ プロトコル分析には Converter.Factory を使用することを検討できます。

レトロフィット

カスタムデータプロトコルの手順:

    カスタマイズされた
  1. Converter.Factory, 参考retrofit2.converter.gson.GsonConverterFactory

  2. 電話
  3. Retrofit.Builder#addConverterFactory(Converter.Factory)

  4. さらに、呼び出し方法もカスタマイズできます。現在最も人気のあるものは
Retrofit

+RxJava(RxAndroid)です。手順は次のとおりです。

カスタマイズされた
  1. CallAdapter.Factory, 参考retrofit2.adapter.rxjava.RxJavaCallAdapterFactory

    電話
  2. Retrofit.Builder#addCallAdapterFactory(CallAdapter.Factory)

いいねを押す +0
淡淡烟草味

一般に、ジェネリック T は、実際にサーバーから返されたエンティティを表すために Result で使用されます。あなたが言ったように、最初にインターセプターを使用して結果をデコードし、それから gson で直接解析できます

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!