-
-
Notifications
You must be signed in to change notification settings - Fork 458
加解密
liujingxing edited this page Feb 25, 2023
·
6 revisions
请求加密,需要自定义Param,非常简单,详情请查看自定义Param
有些时候,请求会返回一大串的密文,此时就需要将密文转化为明文,直接来看代码,如下:
//设置数据解密/解码器
RxHttpPlugins
.init(OkHttpClient)
.setResultDecoder(new Function<String, String>() {
//每次请求成功,都会回调这里,并传入请求返回的密文
@Override
public String apply(String s) throws Exception {
String plaintext = decode(s); //将密文解密成明文,解密逻辑自己实现
return plaintext; //返回明文
}
});
很简单,通过RxHttp.setResultDecoder(Function<String, String>)
静态方法,传入一个接口对象,此接口会在每次请求成功的时候被回调,并传入请求返回的密文,只需要将密文解密后返回即可。
然而,有些请求是不需求解密的,此时就可以调用setDecoderEnabled(boolean)
方法,并传入false即可,如下:
RxHttp.get("/service/...")
.setDecoderEnabled(false) //设置本次请求不需要解密,默认为true
.toObservableString()
.subscribe(s -> {
//成功回调
}, (OnError) error -> {
//失败回调
});