import okhttp3.OkHttpClient;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class MyApiClient {
private static final String BASE_URL = "https://api.example.com/";
// 创建 OkHttpClient,并设置超时时间
private static OkHttpClient.Builder createOkHttpClient() {
return new OkHttpClient.Builder()
.connectTimeout(30, java.util.concurrent.TimeUnit.SECONDS) // 连接超时时间
.readTimeout(30, java.util.concurrent.TimeUnit.SECONDS) // 读取超时时间
.writeTimeout(30, java.util.concurrent.TimeUnit.SECONDS); // 写入超时时间
}
// 创建 Retrofit 实例
private static Retrofit createRetrofit() {
return new Retrofit.Builder()
.baseUrl(BASE_URL)
.client(createOkHttpClient().build()) // 使用自定义的 OkHttpClient
.addConverterFactory(GsonConverterFactory.create())
.build();
}
// 创建 API 接口
public static MyApiService createApiService() {
return createRetrofit().create(MyApiService.class);
}
}
在上述代码中,createOkHttpClient 方法创建了一个具有自定义超时的 OkHttpClient,然后在 createRetrofit 方法中将其用于创建 Retrofit 实例。
请根据你的实际需求调整超时时间。在这个例子中,连接超时、读取超时和写入超时都被设置为30秒。