Rumah  >  Soal Jawab  >  teks badan

Bagaimanakah pengubahsuaian mengendalikan resolusi jenis data untuk medan yang disulitkan?

Sedang digunakanretrofit过程中,通常,如果服务器返回我们的一个response.
Besar seperti di bawah

{
    "code":200,
     "msg":"success",
     "result":"result"
}

boleh ditulis sebagai result中是我们请求需要的数据,所以在写apis apabila

Call<Response<Result>> getResult(Requset request);

Yang Result di sini diperolehi berdasarkan keperluan sebenar Jika ini berlaku, ia akan menjadi mudah.

Tapi kalau server balik result字段的值是加密过的,那么这时候就无法直接解析了,我现在能想到的方法是给okhttp添加拦截器,直接修改返回的数据里面的字段(但是我还不知道具体怎样做),现在觉得我的思路不太好,想请问下有什么办法可以好一点的解决,自定义一个ConverterFactory?

Terima kasih, saya rasa situasi ini tidak jarang, jadi saya datang untuk meminta nasihat yang pakar. Terima kasih

伊谢尔伦伊谢尔伦2717 hari yang lalu659

membalas semua(2)saya akan balas

  • 滿天的星座

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

    Anda boleh mempertimbangkan untuk menggunakan pemintas untuk penyulitan dan penyahsulitan dan Penukar. Kilang untuk analisis protokol data.

    RetrofitLangkah protokol data tersuai:

    1. Sesuaikan Converter.Factory, rujuk retrofit2.converter.gson.GsonConverterFactoryConverter.Factory, 参考retrofit2.converter.gson.GsonConverterFactory

    2. 调用 Retrofit.Builder#addConverterFactory(Converter.Factory)

    除此之外, 调用方式也可以自定义, 目前比较流行使用的是Retrofit+RxJava(RxAndroid), 步骤如下:

    1. 自定义CallAdapter.Factory, 参考retrofit2.adapter.rxjava.RxJavaCallAdapterFactory

    2. 调用 Retrofit.Builder#addCallAdapterFactory(CallAdapter.Factory)

    Panggil Retrofit.Builder#addConverterFactory(Converter.Factory)🎜🎜 🎜 🎜Selain itu, kaedah panggilan juga boleh disesuaikan yang paling popular pada masa ini ialah 🎜Retrofit🎜+🎜RxJava🎜(🎜RxAndroid🎜) 🎜 🎜🎜Sesuaikan CallAdapter.Factory, rujuk retrofit2.adapter.rxjava.RxJavaCallAdapterFactory🎜🎜 🎜🎜Panggil Retrofit.Builder#addCallAdapterFactory(CallAdapter.Factory)🎜🎜 🎜

    balas
    0
  • 淡淡烟草味

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

    Secara amnya, T generik digunakan dalam Result untuk mewakili entiti yang sebenarnya dikembalikan daripada pelayan Seperti yang anda katakan, anda boleh mula-mula menggunakan pemintas untuk menyahkod hasilnya, dan kemudian menghuraikannya secara langsung dengan gson

    .

    balas
    0
  • Batalbalas