首先了解下Retrofit.Builder得作用,Retrofit.Builder类使用Builder API来定义HTTP操作的URL端点,最后构建一个新Retrofit
实例
请记住,
baseUrl()
在最终调用之前需要调用builder.build()
。所有其他方法都是可选的。
1.使用Retrofit.Builder
使用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();
2.使用Retrofit.Builder设置OkHttpClient
使用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();
3.添加日志记录
日志记录通过拦截器添加到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();
4。总结
上面列出的示例是我们需要Retrofit.Builder
创建Retrofit
实例时的一些常用情况。还有更多这样的案例,例如认证等。我们将在编辑教程中对它们进行研究。
原创文章,作者:jamestackk,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/243665.html