【发布时间】:2016-08-10 12:21:54
【问题描述】:
我在我的 android 应用程序中使用 Retrofit 2.1.0 进行 API 解析。我需要改造所花费的时间来解析 API。
如何使用 Retrofit 2 获取请求/响应时间。
以下是我用于 API 解析的 Retrofit Rest 客户端调用。
public static class ServiceGenerated {
static OkHttpClient httpClient = new OkHttpClient.Builder()
.connectTimeout(60, TimeUnit.SECONDS)
.readTimeout(60, TimeUnit.SECONDS)
.writeTimeout(60, TimeUnit.SECONDS)
.addInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request.Builder ongoing = chain.request().newBuilder();
return chain.proceed(ongoing.build());
}
})
.build();
private static Retrofit.Builder builder =
new Retrofit.Builder()
.baseUrl(RetrofitUtils.API_BASE_URL)
.client(httpClient)
.addConverterFactory(GsonConverterFactory.create());
public static <S> S createService(Class<S> serviceClass) {
Retrofit retrofit = builder.client(httpClient).build();
return retrofit.create(serviceClass);
}
}
【问题讨论】:
-
你想记录请求/响应时间吗?
-
你可能需要使用拦截器。这正是您的需求github.com/square/okhttp/wiki/Interceptors
-
@darwin 是的,我需要请求或响应时间的日志。