Retrofit 是一个用于简化 HTTP 请求的库,由 Square 公司开发。它允许开发者使用 Java 或 Kotlin 语言以简洁的方式定义 RESTful 服务接口,并自动处理 HTTP 请求和响应。
Retrofit 的优势
- 简洁易用:使用注解定义接口,无需手动编写 HTTP 请求代码。
- 支持多种 HTTP 协议:支持 GET、POST、PUT、DELETE 等请求方法,以及表单、JSON 等数据格式。
- 易于扩展:支持自定义转换器,可以处理复杂的 HTTP 请求和响应。
- 支持同步和异步请求:支持同步和异步请求,方便开发者根据需求选择。
Retrofit 使用示例
以下是一个简单的 Retrofit 使用示例:
public interface ApiService {
@GET("users/{id}")
Call<User> getUser(@Path("id") int userId);
}
在上面的示例中,我们定义了一个 ApiService
接口,并使用 @GET
注解指定请求方法为 GET,使用 @Path
注解指定请求参数。
Retrofit 集成
要使用 Retrofit,需要将其集成到项目中。以下是在 Android 项目中集成 Retrofit 的步骤:
- 在项目的
build.gradle
文件中添加依赖:
dependencies {
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
}
- 创建一个 Retrofit 实例:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.example.com/")
.addConverterFactory(GsonConverterFactory.create())
.build();
- 创建一个接口实现类:
public class ApiService implements ApiServiceInterface {
private final Retrofit retrofit;
public ApiService(Retrofit retrofit) {
this.retrofit = retrofit;
}
@Override
public Call<User> getUser(int userId) {
return retrofit.create(ApiServiceInterface.class).getUser(userId);
}
}
- 使用 Retrofit 发送请求:
ApiService apiService = new ApiService(retrofit);
Call<User> call = apiService.getUser(1);
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
if (response.isSuccessful()) {
User user = response.body();
// 处理响应数据
}
}
@Override
public void onFailure(Call<User> call, Throwable t) {
// 处理错误
}
});
扩展阅读
更多关于 Retrofit 的信息,请参考以下链接:

Retrofit Logo