1
Zxw 2016-07-26 12:58:56 +08:00 1
写一个 BaseResullt ,处理 code 和 msg ,所有 api 返回结果继承 BaseResult , data 设置为你的 model 对象
|
2
kitalphaj 2016-07-26 13:03:35 +08:00
1 楼的方法挺好的。还有一种是可以写个 Intercepter 。然后用 okclient 的 addIntercepter 方法插入请求中。这个 intercepter 可以负责重新打包。但我觉得 1 楼的方法性能会好一点。
|
3
reHuo 2016-07-26 13:48:11 +08:00
1 楼的方法不错
|
4
twocity 2016-07-26 14:35:04 +08:00
ApiResult<T>
|
5
yuyang041060120 2016-07-26 14:40:40 +08:00 1
public class Backend<T> {
private int code; private List<T> data; private String msg; public int getCode() { return code; } public void setCode(int code) { this.code = code; } public List<T> getData() { return data; } public void setData(List<T> data) { this.data = data; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } } public interface HttpService { @GET("companies") Call<Backend<Company>> getCompanies(); @GET("schedules") Call<Backend<Schedule>> getSchedules(); } public class HttpClient { private static HttpService httpService = new Retrofit.Builder() .baseUrl("http://192.168.1.24:8088/api/") .addConverterFactory(GsonConverterFactory.create()) .build() .create(HttpService.class); public static List<Company> getCompanies() { try { return httpService.getCompanies().execute().body().getData(); } catch (IOException e) { e.printStackTrace(); return null; } } public static List<Schedule> getSchedules() { try { return httpService.getSchedules().execute().body().getData(); } catch (IOException e) { e.printStackTrace(); return null; } } } |
6
yuyang041060120 2016-07-26 14:48:13 +08:00
|
7
z42514 OP @yuyang041060120 ,@Zxw
已经实现了,十分感谢 |