在日常的Android
项目开发或者维护,我们都会使用或者遇到Retrofit
网络请求库。这篇博客分享我了解的Retrofit
相关的知识,希望对开文章的小伙伴有所帮助。
Retrofit
适用Android
网络请求库。
Retrofit导入项目
implementation('com.squareup.retrofit2:retrofit:2.9.0')
截止我发布博客,开源库版本是2.9.0
。最新的版本请查看开源库的wiki
一般情况下我都会加入解析相关的开源库,我个人比较喜欢Gson
解析库:
implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
Retrofit简单使用
我举得例子都是来源开源库的文档。
1、创建本地的接口文件:
public interface GitHubService {
@GET("users/{user}/repos")
Call<List<Repo>> listRepos(@Path("user") String user);
}
2、创建Retrofit请求基础配置:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.github.com/")
.build();
GitHubService service = retrofit.create(GitHubService.class);
3、每个Call创建的GitHubService都可以向服务器发出同步或异步 HTTP 请求:
Call<List<Repo>> repos = service.listRepos("octocat");
Get请求的注解
@GET("users/list")
在链接中指定参数:
@GET("users/list?sort=desc")
动态替换链接的参数,比如是id:
@GET("group/{id}/users")
Call<List<User>> groupList(@Path("id") int groupId);
Post请求的注解
@POST("users/new")
Call<User> createUser(@Body User user);
网友评论