Retrofit:类型安全的REST客户端
本资源由 伯乐在线 - sunbiaobiao 整理
Retrofit 和Java领域的ORM概念类似, ORM把结构化数据转换为Java对象,而Retrofit 把REST API返回的数据转化为Java对象方便操作。同时还封装了网络代码的调用。
特性
- 支持 URL 参数替换和查询参数
- 返回结果转换为Java对象(返回结果可以为 JSON, protocol buffers)
- 支持 Multipart请求和文件上传
使用示例
1 2 3 4 |
public interface GitHubService { @GET("/users/{user}/repos") List<Repo> listRepos(@Path("user") String user); } |
定义上面的一个REST API接口。 该接口定义了一个函数 listRepos , 该函数会通过HTTP GET请求去访问服务器的/users/{user}/repos路径并把返回的结果封装为List<Repo> Java对象返回。
其中URL路径中的{user}的值为listRepos 函数中的参数 user的取值。
然后通过
1 |
GitHubService service = restAdapter.create(GitHubService.class); |
获取接口的实现后就可以调用接口函数来和服务器交互了;
1 |
List<Repo> repos = service.listRepos("octocat"); |
下载
Gradle
1 |
compile 'com.squareup.retrofit:retrofit:1.6.0' |
Maven
1 2 3 4 5 |
<dependency> <groupId>com.squareup.retrofit2</groupId> <artifactId>retrofit</artifactId> <version>(insert latest version)</version> </dependency> |
开发资源
官方网站:http://square.github.io/retrofit/
开源地址:https://github.com/square/retrofit