Retrofit
看一个Retrofit的例子
- 第一步:将Rest API转换为java接口
public interface GitHubService {
@GET("users/{user}/repos")
Call<List<Repo>> listRepos(@Path("user") String user);
// you can add some other meathod
}
解释: - 这里的Rest API是指服务器端的API,一般会暴露get,post方法
- GitHubService其实是对Rest API的一个映射关系,在实际开发中,我们可以定义:public interface ClientService,里面包含post ,get 方法。
- 接口中的方法使用了Retrofit的注解,Retrofit这个库给了我们很多注解,下一节详细介绍
- listRepos这个方法表示:一个get请求获取给定URL的Repo集合。
- listRepos传入的参数为我们需要get的url的动态部分。
-
这里的Repo为我们自己定义的java bean的类:Repo.class用于封装获取的Jason数据。//注意:此处Retrofit又帮我们省掉了很多工作,只需要我们自己定义业务对应的实体类,而Jason数据的转换和封装则帮我们封装好了只需我们调用。
-
第二步Retrofit会帮我们自动生成接口的实现类的实例,代码如下:
Retrofit retrofit = new Retrofit.Builder() //01:获取Retrofit对象
.baseUrl("https://api.github.com/") //02采用链式结构绑定Base url
.build();//03执行操作
GitHubService service = retrofit.create(GitHubService.class);//04获取API接口的实现类的实例对象
解释:
- 短短的两行代码解决了很多问题
- 先获取Retrofit对象并绑定基本参数,设置基本配置
-
一行代码生成API接口的实例对象
-
第三步:调用接口中定义的业务方法:get post等:
Call<List<Repo>> repos = service.listRepos("octocat");
解释: - 调用接口实现类实例的方法,获取服务器上的数据解析存在List<Repo>中。
小结:Retrofit的使用大体上就分这三步走,接下来就是在开发中去熟悉Retrofit的各种注解了。

浙公网安备 33010602011771号