検索

ホームページ  >  に質問  >  本文

レトロフィットは暗号化フィールドのデータ型解決をどのように処理しますか?

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

リーリー

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

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

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

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

をカスタマイズする

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

伊谢尔伦伊谢尔伦2738日前691

全員に返信(2)返信します

  • 滿天的星座

    滿天的星座2017-06-05 11:13:02

    暗号化と復号化にはインターセプターを使用し、データ プロトコル分析には 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
  • 淡淡烟草味

    淡淡烟草味2017-06-05 11:13:02

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

    返事
    0
  • キャンセル返事