-
-
Notifications
You must be signed in to change notification settings - Fork 458
Home
liujingxing edited this page Oct 30, 2022
·
14 revisions
RxHttp.get("/service/...") //第一步,确定请求方式,可以选择postForm、postJson等方法
.asString() //第二步,使用asXXX系列方法确定返回类型
.subscribe(s -> { //第三步, 订阅观察者
//成功回调
}, throwable -> {
//失败回调
});
任意请求,任意返回数据类型,皆遵循请求三部曲
任意请求,任意返回数据类型,皆遵循请求三部曲
任意请求,任意返回数据类型,皆遵循请求三部曲
RxHttp.get("/service/...")
.add("key", "value")
.toObservableString()
.subscribe(s -> {
//成功回调
}, throwable -> {
//失败回调
});
RxHttp.postForm("/service/...") //发送表单形式的post请求
.add("key", "value")
.toObservableString()
.subscribe(s -> {
//成功回调
}, throwable -> {
//失败回调
});
初始化是非必须的,如下:
RxHttpPlugins.init(OkHttpClient) //自定义OkHttpClient对象
.setDebug(boolean, boolean, int) //是否开启调试模式、是否分段打印、打印json数据缩进空格数量
.setCache(File, long, CacheMode) //配置缓存目录,最大size及缓存模式
.setExcludeCacheKeys(String...) //设置一些key,不参与cacheKey的组拼
.setResultDecoder(Function) //设置数据解密/解码器,非必须
.setConverter(IConverter) //设置全局的转换器,非必须
.setOnParamAssembly(Consumer); //设置公共参数/请求头回调
如需要添加拦截器等其他业务需求,则可调用init
方法进行初始化,不初始化或者传入null
即代表使用默认OkHttpClient对象,建议在Application中初始化,默认的OkHttpClient对象在RxHttpPlugins类中可以找到,如下:
private static OkHttpClient getDefaultOkHttpClient() {
return new OkHttpClient.Builder().build();
}
虽然初始化是非必须的,但是建议大家传入自定义的OkHttpClient对象,一来,自定义的OkHttpClient能最大化满足自身的业务;二来,随着RxHttp版本的升级,默认的OkHttpClient可能会发生变化(虽然可能性很小),故建议自定义OkHttpClient对象传入RxHttp。