gpt4 book ai didi

android - 如何使用 Retrofit 2 获取 API 请求/响应时间

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:34:47 24 4
gpt4 key购买 nike

我在我的 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);
}

}

最佳答案

您可以通过减去收到响应时的时间戳和发送请求时的时间戳来计算总的往返时间。 Response 对象的这两个方法将为您提供这两个值

  1. Response.sentRequestAtMillis()
  2. Response.receivedResponseAtMillis()

        RequestBody body = RequestBody.create(JSON, json);
    Request request = new Request.Builder()
    .url(url)
    .post(body)
    .build();
    Response response = client.newCall(request).execute();
    long tx = response.sentRequestAtMillis();
    long rx = response.receivedResponseAtMillis();
    System.out.println("response time : "+(rx - tx)+" ms");

关于android - 如何使用 Retrofit 2 获取 API 请求/响应时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38873321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com