Retrofit使用

267 阅读1分钟

Retrofit好处

Retrofit是适用于Android和Java的类型安全的HTTP客户端 Retrofit将 HTTP API 换变成了Java接口,利用注解来定义HTTP请求 Retrofit可以主动反序列化ResponseBody,但转换器可已将ResponseBody转换成其他类型,转换器可以是Gson,Jackson等

Retrofit使用

Retrofit官方文档

public final class SimpleService {
  public static final String API_URL = "https://api.github.com";

  public static class Contributor {
    public final String login;
    public final int contributions;

    public Contributor(String login, int contributions) {
      this.login = login;
      this.contributions = contributions;
    }
  }

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

  public static void main(String... args) throws IOException {
    Retrofit retrofit = new Retrofit.Builder()
        .baseUrl(API_URL)
        .addConverterFactory(GsonConverterFactory.create())
        .build();

    GitHub github = retrofit.create(GitHub.class);

    Call<List<Contributor>> call = github.contributors("square", "retrofit");
    // 同步HTTP请求
    List<Contributor> contributors = call.execute().body();
    for (Contributor contributor : contributors) {
      System.out.println(contributor.login + " (" + contributor.contributions + ")");
    }
  }
}