Square Retrofit:Android 和 Java 的类型安全 HTTP 客户端

Square 出品的 Retrofit,在 GitHub 上拿到了 43,892 个 Star,是 Android 和 Java 生态中使用最广的 HTTP 客户端框架之一。

正文顶部截图

Retrofit 的核心思路是把 HTTP API 定义成 Java 接口,通过注解标注请求方法、路径和参数,框架在运行时自动生成实现。

开发者不用再手写 HTTP 请求的样板代码,只需要定义接口,Retrofit 负责处理序列化、网络调用和响应解析。

README区域截图

基本用法

先定义一个 API 接口:

public interface GitHubService {
  @GET("users/{user}/repos")
  Call<List<Repo>> listRepos(@Path("user") String user);
}

然后创建 Retrofit 实例并生成实现:

Retrofit retrofit = new Retrofit.Builder()
    .baseUrl("https://api.github.com/")
    .build();

GitHubService service = retrofit.create(GitHubService.class);

Retrofit 底层依赖 OkHttp 处理网络通信,支持同步和异步请求。响应数据通过 Converter 自动反序列化,可选 Gson、Moshi、Jackson 等库接入。

安装

Maven 坐标为 com.squareup.retrofit2:retrofit:3.0.0,最低要求 Java 8 或 Android API 21。

Gradle 依赖:

implementation 'com.squareup.retrofit2:retrofit:3.0.0'

ProGuard / R8

使用 R8 的项目,混淆规则已自动包含。ProGuard 用户需要手动添加 retrofit2.pro 中的规则,同时注意 OkHttp 也需要对应的混淆配置。

版本快照

开发版本的快照发布在 Sonatype 的 snapshots 仓库中,方便测试最新改动。

Retrofit 从 2013 年开源至今,接口设计稳定,生态成熟。Android 网络层方案中,它几乎是默认选择。

ofit 从 2013 年开源至今,接口设计稳定,生态成熟。Android 网络层方案中,它几乎是默认选择。

更多推荐