网络模块使用方法

调用步骤

1. 获取 ApiServices

通过 ApiManager.getServices() 获取 Apiservice 实例。

1
ApiServices services = ApiManager.getServices();

2. 通过 ApiServices 获取对应 API 的 Call 对象

第一步中获取到的 ApiServicesApiServices 接口的实例化对象。
通过调用其接口所定义的方法,获取对应网络 API 的 Call 对象

1
Call<Response> call = services.uploadMapGeoJsonCall(id, geoJsonObject);

对应的网络 API 及其说明请查看相应的后端文档。

3. 通过 Call 对象的方法来执行任务。

获取到 Call 对象并不意味着开始执行任务,
需要调用 Call 对象的对应方法来开启这一个网络请求任务。

执行 Call 任务的方法有两个

  1. 异步方法 推荐!!

    1
    call.enqueue(new CallBack());
  2. 同步方法

    1
    call.execute();

最好通过异步方法来开启任务。

4. 在 CallBack 中对结果进行响应。

4.1 onResponse() 方法

onResponse() 方法用来处理连通网络后的返回结果,包括 200 结果和其他 5xx,4xx 结果。

本项目对任何可 handle 的结果均返回 200 ,
请务必通过 body 中的 isSuccess(), getErrorMsg() 来获取真正的网络响应状态。

4.2. onFailure() 方法

这个方法会回调任何的网络无法连通,body 解析错误的返回结果。