leftso 858 0 2019-09-02 07:57:56

文章位置:左搜> 编程技术> 正文

 

首先了解下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()方法设置OkHttpClientin 的实例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客户端。一个例子补充HttpLoggingInterceptorOkHttpClient
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实例时的一些常用情况。还有更多这样的案例,例如认证等。我们将在编辑教程中对它们进行研究。




 
编程技术 Retrofit