首先了解下Retrofit.Builder得作用,Retrofit.Builder类使用Builder API来定义HTTP操作的URL端点,最后构建一个新Retrofit
实例
请记住,
baseUrl()
在最终调用之前需要调用builder.build()
。所有其他方法都是可选的。
使用Retrofit.Builder
类创建Retrofit
实例的一个非常基本的示例。
private static Retrofit.Builder builder
= new Retrofit.Builder()
.baseUrl("https://api.domain.com/")
.addConverterFactory(GsonConverterFactory.create());
private static Retrofit retrofit = builder.build();
使用Retrofit.Builder.client()
方法设置OkHttpClient
in 的实例Retrofit
。
private static OkHttpClient.Builder httpClient
= new OkHttpClient.Builder();
private static Retrofit.Builder builder
= new Retrofit.Builder()
.baseUrl("https://api.domain.com/")
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient.build());
private static Retrofit retrofit = builder.build();
日志记录通过拦截器添加到http客户端。一个例子补充HttpLoggingInterceptor
到OkHttpClient
。
private static HttpLoggingInterceptor logging =
new HttpLoggingInterceptor()
.setLevel(HttpLoggingInterceptor.Level.BODY);
private static OkHttpClient.Builder httpClient
= new OkHttpClient.Builder();
{
if (!httpClient.interceptors().contains(logging)) {
httpClient.addInterceptor(logging);
}
}
private static Retrofit.Builder builder
= new Retrofit.Builder()
.baseUrl("https://api.domain.com/")
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient.build());
private static Retrofit retrofit = builder.build();
上面列出的示例是我们需要Retrofit.Builder
创建Retrofit
实例时的一些常用情况。还有更多这样的案例,例如认证等。我们将在编辑教程中对它们进行研究。
http://blog.xqlee.com/article/667.html