사용중retrofit
过程中,通常,如果服务器返回我们的一个response
.
아래와 같이 크게
는 result
中是我们请求需要的数据,所以在写apis
when
여기의 Result
는 실제 필요에 따라 얻은 것입니다. 이 경우 비교적 간단합니다.
그런데 서버가 돌아오면 result
字段的值是加密过的,那么这时候就无法直接解析了,我现在能想到的方法是给okhttp
添加拦截器,直接修改返回的数据里面的字段(但是我还不知道具体怎样做),现在觉得我的思路不太好,想请问下有什么办法可以好一点的解决,自定义一个ConverterFactory
?
감사합니다. 이런 상황이 드물지 않을 것 같아서 전문가에게 조언을 구하러 왔습니다
감사합니다.滿天的星座2017-06-05 11:13:02
암호화 및 복호화에는 인터셉터를 사용하고 데이터 프로토콜 분석에는 Converter.Factory를 사용하는 것을 고려할 수 있습니다.
Retrofit사용자 정의 데이터 프로토콜 단계:
맞춤형Converter.Factory
, 参考retrofit2.converter.gson.GsonConverterFactory
전화 Retrofit.Builder#addConverterFactory(Converter.Factory)
또한 호출 방법을 사용자 정의할 수도 있습니다. 현재 가장 인기 있는 방법은 Retrofit+RxJava(RxAndroid)입니다.
맞춤형CallAdapter.Factory
, 参考retrofit2.adapter.rxjava.RxJavaCallAdapterFactory
전화 Retrofit.Builder#addCallAdapterFactory(CallAdapter.Factory)
淡淡烟草味2017-06-05 11:13:02
일반적으로 일반 T는 서버에서 실제로 반환된 엔터티를 나타내기 위해 Result에 사용됩니다. 말씀하신 대로 먼저 인터셉터를 사용하여 결과를 디코딩한 다음 gson으로 직접 구문 분석할 수 있습니다.