찾다

 >  Q&A  >  본문

개조는 암호화된 필드에 대한 데이터 유형 확인을 어떻게 처리합니까?

사용중retrofit过程中,通常,如果服务器返回我们的一个response.
아래와 같이 크게

으아악

result中是我们请求需要的数据,所以在写apis when

로 쓸 수 있습니다. 으아악

여기의 Result는 실제 필요에 따라 얻은 것입니다. 이 경우 비교적 간단합니다.

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

감사합니다. 이런 상황이 드물지 않을 것 같아서 전문가에게 조언을 구하러 왔습니다

감사합니다.
伊谢尔伦伊谢尔伦2737일 전684

모든 응답(2)나는 대답할 것이다

  • 滿天的星座

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

    암호화 및 복호화에는 인터셉터를 사용하고 데이터 프로토콜 분석에는 Converter.Factory를 사용하는 것을 고려할 수 있습니다.

    Retrofit사용자 정의 데이터 프로토콜 단계:

    1. 맞춤형Converter.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)

    회신하다
    0
  • 淡淡烟草味

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

    일반적으로 일반 T는 서버에서 실제로 반환된 엔터티를 나타내기 위해 Result에 사용됩니다. 말씀하신 대로 먼저 인터셉터를 사용하여 결과를 디코딩한 다음 gson으로 직접 구문 분석할 수 있습니다.

    회신하다
    0
  • 취소회신하다