100100
101101 * [ 我想自定义 Get 请求参数中的 key 和 value 该怎么做] ( #我想自定义-get-请求参数中的-key-和-value-该怎么做 )
102102
103+ * [ 我想在 Post 请求中定义类似 Get 请求参数该怎么做] ( #我想在-post-请求中定义类似-get-请求参数该怎么做 )
104+
103105* [ 搭配 RxJava] ( #搭配-rxjava )
104106
105107 * [ 准备工作] ( #准备工作 )
@@ -298,10 +300,10 @@ EasyHttp.post(this)
298300 .api(new LoginApi ()
299301 .setUserName(" Android 轮子哥" )
300302 .setPassword(" 123456" ))
301- .request(new HttpCallback <HttpData<LoginBean > > (activity) {
303+ .request(new HttpCallbackProxy <HttpData<LoginBean > > (activity) {
302304
303305 @Override
304- public void onSucceed (HttpData<LoginBean > data ) {
306+ public void onHttpSuccess (HttpData<LoginBean > data ) {
305307 toast(" 登录成功" );
306308 }
307309 });
@@ -347,27 +349,27 @@ EasyHttp.post(this)
347349 .request(new OnUpdateListener<Void > () {
348350
349351 @Override
350- public void onStart (Call call ) {
352+ public void onUpdateStart (Call call ) {
351353 mProgressBar. setVisibility(View . VISIBLE );
352354 }
353355
354356 @Override
355- public void onProgress (int progress ) {
357+ public void onUpdateProgressChange (int progress ) {
356358 mProgressBar. setProgress(progress);
357359 }
358360
359361 @Override
360- public void onSucceed (Void result ) {
362+ public void onUpdateSuccess (Void result ) {
361363 toast(" 上传成功" );
362364 }
363365
364366 @Override
365- public void onFail (Exception e ) {
367+ public void onUpdateFail (Exception e ) {
366368 toast(" 上传失败" );
367369 }
368370
369371 @Override
370- public void onEnd (Call call ) {
372+ public void onUpdateEnd (Call call ) {
371373 mProgressBar. setVisibility(View . GONE );
372374 }
373375 });
@@ -391,28 +393,28 @@ EasyHttp.download(this)
391393 .listener(new OnDownloadListener () {
392394
393395 @Override
394- public void onStart (File file ) {
396+ public void onDownloadStart (File file ) {
395397 mProgressBar. setVisibility(View . VISIBLE );
396398 }
397399
398400 @Override
399- public void onProgress (File file , int progress ) {
401+ public void onDownloadProgressChange (File file , int progress ) {
400402 mProgressBar. setProgress(progress);
401403 }
402404
403405 @Override
404- public void onComplete (File file ) {
406+ public void onDownloadSuccess (File file ) {
405407 toast(" 下载完成:" + file. getPath());
406408 installApk(XxxActivity . this , file);
407409 }
408410
409411 @Override
410- public void onError (File file , Exception e ) {
412+ public void onDownloadFail (File file , Exception e ) {
411413 toast(" 下载出错:" + e. getMessage());
412414 }
413415
414416 @Override
415- public void onEnd (File file ) {
417+ public void onDownloadEnd (File file ) {
416418 mProgressBar. setVisibility(View . GONE );
417419 }
418420
@@ -439,10 +441,10 @@ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
439441EasyHttp . post(this )
440442 .api(new XxxApi ()
441443 .setImage(outputFile))
442- .request(new HttpCallback <Xxx <Xxx> > (this ) {
444+ .request(new HttpCallbackProxy <Xxx <Xxx> > (this ) {
443445
444446 @Override
445- public void onSucceed (Xxx<Xxx > data ) {
447+ public void onHttpSuccess (Xxx<Xxx > data ) {
446448
447449 }
448450 });
@@ -1168,10 +1170,10 @@ EasyHttp.post(MainActivity.this)
11681170 .api(new XxxApi ())
11691171 // 延迟 5 秒后请求
11701172 .delay(5000 )
1171- .request(new HttpCallback <HttpData<XxxBean > > (MainActivity . this ) {
1173+ .request(new HttpCallbackProxy <HttpData<XxxBean > > (MainActivity . this ) {
11721174
11731175 @Override
1174- public void onSucceed (HttpData<XxxBean > result ) {
1176+ public void onHttpSuccess (HttpData<XxxBean > result ) {
11751177
11761178 }
11771179 });
@@ -1203,10 +1205,10 @@ public final class XxxApi implements IRequestApi {
12031205``` java
12041206EasyHttp . post(this )
12051207 .api(new RequestUrl (" https://xxxx.com/aaaa" ))
1206- .request(new HttpCallback <Xxx > (this ) {
1208+ .request(new HttpCallbackProxy <Xxx > (this ) {
12071209
12081210 @Override
1209- public void onSucceed (Xxx result ) {
1211+ public void onHttpSuccess (Xxx result ) {
12101212
12111213 }
12121214 });
@@ -1244,10 +1246,10 @@ public final class HttpUrls {
12441246``` java
12451247EasyHttp . post(this )
12461248 .api(HttpUrls . GET_USER_INFO )
1247- .request(new HttpCallback <HttpData<XxxBean > > (this ) {
1249+ .request(new HttpCallbackProxy <HttpData<XxxBean > > (this ) {
12481250
12491251 @Override
1250- public void onSucceed (HttpData<XxxBean > result ) {
1252+ public void onHttpSuccess (HttpData<XxxBean > result ) {
12511253
12521254 }
12531255 });
@@ -1266,10 +1268,10 @@ EasyHttp.post(this)
12661268``` java
12671269EasyHttp . post(new ActivityLifecycle (this ))
12681270 .api(new XxxApi ())
1269- .request(new HttpCallback <HttpData<XxxBean > > (this ) {
1271+ .request(new HttpCallbackProxy <HttpData<XxxBean > > (this ) {
12701272
12711273 @Override
1272- public void onSucceed (HttpData<XxxBean > result ) {
1274+ public void onHttpSuccess (HttpData<XxxBean > result ) {
12731275
12741276 }
12751277 });
@@ -1288,12 +1290,12 @@ EasyHttp.post(ApplicationLifecycle.getInstance())
12881290 .request(new OnHttpListener<HttpData<XxxBean > > () {
12891291
12901292 @Override
1291- public void onSucceed (HttpData<XxxBean > result ) {
1293+ public void onHttpSuccess (HttpData<XxxBean > result ) {
12921294
12931295 }
12941296
12951297 @Override
1296- public void onFail (Exception e ) {
1298+ public void onHttpFail (Exception e ) {
12971299
12981300 }
12991301 });
@@ -1346,12 +1348,12 @@ public class XxxViewModel extends BaseViewModel {
13461348 .request(new OnHttpListener<HttpData<Xxx > > () {
13471349
13481350 @Override
1349- public void onSucceed (HttpData<Xxx > result ) {
1351+ public void onHttpSuccess (HttpData<Xxx > result ) {
13501352
13511353 }
13521354
13531355 @Override
1354- public void onFail (Exception e ) {
1356+ public void onHttpFail (Exception e ) {
13551357
13561358 }
13571359 });
@@ -1363,23 +1365,23 @@ public class XxxViewModel extends BaseViewModel {
13631365
13641366* 首先这个加载对话框不是框架自带的,是可以修改或者取消的,主要有两种方式可供选择
13651367
1366- * 第一种方式:重写 HttpCallback 类回调方法
1368+ * 第一种方式:重写 HttpCallbackProxy 类回调方法
13671369
13681370``` java
13691371EasyHttp . post(this )
13701372 .api(new XxxApi ())
1371- .request(new HttpCallback <Xxx > (this ) {
1373+ .request(new HttpCallbackProxy <Xxx > (this ) {
13721374
13731375 @Override
1374- public void onStart (Call call ) {
1376+ public void onHttpStart (Call call ) {
13751377 // 重写方法并注释父类调用
1376- // super.onStart (call);
1378+ // super.onHttpStart (call);
13771379 }
13781380
13791381 @Override
1380- public void onEnd (Call call ) {
1382+ public void onHttpEnd (Call call ) {
13811383 // 重写方法并注释父类调用
1382- // super.onEnd (call);
1384+ // super.onHttpEnd (call);
13831385 }
13841386 });
13851387```
@@ -1393,12 +1395,12 @@ EasyHttp.post(this)
13931395 .request(new OnHttpListener<Xxx > () {
13941396
13951397 @Override
1396- public void onSucceed (Xxx result ) {
1398+ public void onHttpSuccess (Xxx result ) {
13971399
13981400 }
13991401
14001402 @Override
1401- public void onFail (Exception e ) {
1403+ public void onHttpFail (Exception e ) {
14021404
14031405 }
14041406 });
@@ -1417,10 +1419,10 @@ String json = gson.toJson(parameter);
14171419EasyHttp . post(this )
14181420 .api(new XxxApi ())
14191421 .body(new JsonBody (json))
1420- .request(new HttpCallback <HttpData<Xxx > > (this ) {
1422+ .request(new HttpCallbackProxy <HttpData<Xxx > > (this ) {
14211423
14221424 @Override
1423- public void onSucceed (HttpData<Xxx > result ) {
1425+ public void onHttpSuccess (HttpData<Xxx > result ) {
14241426
14251427 }
14261428 });
@@ -1452,10 +1454,10 @@ JsonBody jsonBody = new JsonBody(json)
14521454EasyHttp . post(this )
14531455 .api(new XxxApi ())
14541456 .body(jsonBody)
1455- .request(new HttpCallback <HttpData<Xxx > > (this ) {
1457+ .request(new HttpCallbackProxy <HttpData<Xxx > > (this ) {
14561458
14571459 @Override
1458- public void onSucceed (HttpData<Xxx > result ) {
1460+ public void onHttpSuccess (HttpData<Xxx > result ) {
14591461
14601462 }
14611463 });
@@ -1467,15 +1469,15 @@ EasyHttp.post(this)
14671469
14681470#### 我想修改请求回调所在的线程该怎么办
14691471
1470- ```
1472+ ``` java
14711473EasyHttp . post(this )
14721474 .api(new XxxApi ())
14731475 // 表示回调是在子线程中进行
14741476 .schedulers(ThreadSchedulers . IOThread )
1475- .request(new HttpCallback <HttpData<Xxx>>(this) {
1477+ .request(new HttpCallbackProxy <HttpData<Xxx > > (this ) {
14761478
14771479 @Override
1478- public void onSucceed (HttpData<Xxx> result) {
1480+ public void onHttpSuccess (HttpData<Xxx > result ) {
14791481
14801482 }
14811483 });
@@ -1489,10 +1491,10 @@ EasyHttp.post(this)
14891491EasyHttp . post(this )
14901492 .api(new XxxApi ())
14911493 .body(RequestBody body)
1492- .request(new HttpCallback <HttpData<Xxx > > (this ) {
1494+ .request(new HttpCallbackProxy <HttpData<Xxx > > (this ) {
14931495
14941496 @Override
1495- public void onSucceed (HttpData<Xxx > result ) {
1497+ public void onHttpSuccess (HttpData<Xxx > result ) {
14961498
14971499 }
14981500 });
@@ -1505,7 +1507,7 @@ EasyHttp.post(this)
15051507* 具体的写法示例如下:
15061508
15071509``` java
1508- public final class SearchBlogsApi implements IRequestApi {
1510+ public final class XxxApi implements IRequestApi {
15091511
15101512 @NonNull
15111513 @Override
@@ -1586,17 +1588,42 @@ api.putParameter("key2", "value2");
15861588
15871589EasyHttp . get(this )
15881590 .api(api)
1589- .request(new HttpCallback <Xxx > (this ) {
1591+ .request(new HttpCallbackProxy <Xxx > (this ) {
15901592
15911593 @Override
1592- public void onSucceed (Xxx result ) {
1594+ public void onHttpSuccess (Xxx result ) {
15931595
15941596 }
15951597 });
15961598```
15971599
15981600* 需要注意的是:这种实现方式仅适用于在框架设计无法满足需求的情况下,其他情况下作者并不提倡用这种方式,因为这样不方便管理请求参数的 key,还是推荐大家使用在类上面定义字段的方式来实现。
15991601
1602+ #### 我想在 Post 请求中定义类似 Get 请求参数该怎么做
1603+
1604+ * 直接拼接请求的参数到 url 上面,并且忽略某个字段的值(避免被解析成 Post 参数)
1605+
1606+ ``` java
1607+ public final class XxxApi implements IRequestApi {
1608+
1609+ @NonNull
1610+ @Override
1611+ public String getApi () {
1612+ return " article/query?pageNumber=" + pageNumber;
1613+ }
1614+
1615+ @HttpIgnore
1616+ private int pageNumber;
1617+
1618+ public XxxApi setPageNumber (int pageNumber ) {
1619+ this . pageNumber = pageNumber;
1620+ return this ;
1621+ }
1622+ }
1623+ ```
1624+
1625+ * Ps:一般情况下我是不建议这样写的,这样的请求看起来不伦不类,即长得像一个 Get 请求,但是实际上却是一个 Post 请求。
1626+
16001627# 搭配 RxJava
16011628
16021629#### 准备工作
@@ -1682,10 +1709,10 @@ Observable.intervalRange(1, 3, 5000, 1000, TimeUnit.MILLISECONDS)
16821709 EasyHttp . post(MainActivity . this )
16831710 .api(new SearchBlogsApi ()
16841711 .setKeyword(" 搬砖不再有" ))
1685- .request(new HttpCallback <HttpData<SearchBean > > (MainActivity . this ) {
1712+ .request(new HttpCallbackProxy <HttpData<SearchBean > > (MainActivity . this ) {
16861713
16871714 @Override
1688- public void onSucceed (HttpData<SearchBean > result ) {
1715+ public void onHttpSuccess (HttpData<SearchBean > result ) {
16891716
16901717 }
16911718 });
@@ -1703,17 +1730,17 @@ Observable.create(new ObservableOnSubscribe<HttpData<SearchBean>>() {
17031730 EasyHttp . post(MainActivity . this )
17041731 .api(new SearchBlogsApi ()
17051732 .setKeyword(" 搬砖不再有" ))
1706- .request(new HttpCallback <HttpData<SearchBean > > (MainActivity . this ) {
1733+ .request(new HttpCallbackProxy <HttpData<SearchBean > > (MainActivity . this ) {
17071734
17081735 @Override
1709- public void onSucceed (HttpData<SearchBean > result ) {
1736+ public void onHttpSuccess (HttpData<SearchBean > result ) {
17101737 emitter. onNext(result);
17111738 emitter. onComplete();
17121739 }
17131740
17141741 @Override
1715- public void onFail (Exception e ) {
1716- super . onFail (e);
1742+ public void onHttpFail (Exception e ) {
1743+ super . onHttpFail (e);
17171744 emitter. onError(e);
17181745 }
17191746 });
0 commit comments