public interface GitHubService {
@GET("users/{user}/repos")
Call<List<Repo>> listRepos(@Path("user") String user);
}
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.github.com/") //baseUrl须以“/”结尾?
.build();
//内部生成动态代理类
GitHubService service = retrofit.create(GitHubService.class);
Call<List<Repo>> repos = service.listRepos("octocat");
元芳,你怎么看?
GET注解:说明这是一个GET请求
GET传入参数:是一个路径,注意,里面有一个占位符。
listRepos()方法传入的参数用来进行配置的,具体用来配置什么,由各自的注解内容决定。例子中, @Path(“user”)说明user参数用来配置(替换)路径里的user占位符的
假定接口另一个方法
@GET("group/{id}/users")
Call<List<User>> groupList(@Path("id") int groupId, @QueryMap Map<String, String> options);
options自然也是用来“配置”的,在动态代理类的生成过程中会用到这个参数,在哪个点会用到这个参数呢?自然就是根据它的注解的指定的。
假如还有其他的参数,基本类似。