Retrofit 2 - Retrofit.builder.build()方法正常工作

时间:2017-03-19 13:55:41

标签: android http retrofit2 okhttp

我在维基百科上读到,从HTTP / 1.1开始,连接可以重复用于多个请求。那么,这行代码是否通过

打开了一个基本URL的HTTP连接
import

然后将此连接用于对API端点发出的多个后续请求,或者每次遇到新的API端点时都会建立新的HTTP连接。

调用API

mBuider.build().create(API.class); 

RestClient类

RestClient.getClient().getHomeData(mapHomeData).enqueue(new Callback<Example>().... 

RestClient.getClient().getUserData(mapUserData).enqueue(new Callback<Example>().... 

API类

public class RestClient {

private static API REST_API;


public static API getClient()
{
    if(REST_API==null)
    {
        createClient();
    }
    return REST_API;
}



private static void createClient()
{
    OkHttpClient okHttpClient=new OkHttpClient();
    okHttpClient.setConnectTimeout(1, TimeUnit.MINUTES);

    Retrofit.Builder mBuider=new Retrofit.Builder()
            .baseUrl(Constants.BASE_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .client(okHttpClient);

    REST_API=mBuider.build().create(API.class);
    }
}

究竟是什么

public interface API
{
    @FormUrlEncoded
    @POST(Constants.HOME_URL)
    Call <Example> getHomeData(@FieldMap HashMap<String,String> map);

    @FormUrlEncoded
    @POST(Constants.INDEX_URL)
    Call <Example> getIndexData(@FieldMap HashMap<String,String> map);
}

在做什么?

感谢。

0 个答案:

没有答案