Retrofit的使用

  Retrofit对象创建采用的是建造者模式,baseUrl 必须得指定,url有两种情况(schme://host/path/path/path/),只写到主机名(host),或者写path后跟/结束。其他的形式的是非法的。

1 Retrofit retrofit = new Retrofit.Builder()
2     .baseUrl(API_URL)
3     .addConverterFactory(GsonConverterFactory.create())
4     .build();

  retrofit是通过对方法的反射来执行网络请求,需要方法的注解和参数列表,不需要方法体,所以调用create()方法时要的是一个接口,在这个方法中创建了Github接口的代理,其中接口中的方法代码一个完整的请求,用方法注解来表示网络请求的方法和url,其中url中的path是可以即时变化的,变化的值放在方法的参数列表中,参数列表的注解来表示该参数对应url中的哪一部分。

public interface GitHub {
  @GET("/repos/{owner}/{repo}/contributors")
  Call<List<Contributor>> contributors(@Path("owner") String owner, @Path("repo") String repo);
}
GitHub github = retrofit.create(GitHub.class);

Retrofit用给方法加的注解来定义网络请求的方式,包含以下注解:

@DELETE

@GET:对应GET请求方式,注解的值是要请求的路径

@POST:POST请求方式,用于提交数据到服务器

@PUT

@HEAD

@OPTIONS

@PATCH

@HTTP:自定义请求方式

@Headers

@Multipart

@FormUrlEncoded

posted on 2017-04-12 20:11  nyk1234  阅读(124)  评论(0编辑  收藏  举报

导航