改造 2 检查调用 URL
Retrofit 2 check call URL
是否有可能将 Call
URL 与 Retrofit 2
中的 String
进行比较?
例如我们可以这样 baseUrl
:
https://www.google.com
还有这个Call
:
public interface ExampleService {
@GET("dummy/{examplePartialUrl}/")
Call<JsonObject> exampleList(@Path("examplePartialUrl") String examplePartialUrl;
}
此请求:
Call<JsonObject> mCall = dummyService.exampleList("partialDummy")
有没有办法在收到呼叫响应之前获得 https://www.google.com/dummy/partialDummy
或 dummy/partialDummy
?
假设您将 OkHttp 与 Retrofit 一起使用,您可以执行以下操作:
dummyService.exampleList("partialDummy").request().url().toString()
根据 OkHttp 文档应该打印:
https://www.google.com/dummy/partialDummy
我个人找到了另一种方法来完成此任务,即使用改造 2 和 RxJava
首先你需要创建一个OkHttpClient对象
private OkHttpClient provideOkHttpClient()
{
//this is the part where you will see all the logs of retrofit requests
//and responses
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
return new OkHttpClient().newBuilder()
.connectTimeout(500, TimeUnit.MILLISECONDS)
.readTimeout(500,TimeUnit.MILLISECONDS)
.addInterceptor(logging)
.build();
}
创建此对象后,下一步就是在改造构建器中使用它
public Retrofit provideRetrofit(OkHttpClient client, GsonConverterFactory convertorFactory,RxJava2CallAdapterFactory adapterFactory)
{
return new Retrofit.Builder()
.baseUrl(mBaseUrl)
.addConverterFactory(convertorFactory)
.addCallAdapterFactory(adapterFactory)
.client(client)
.build();
}
您可以分配给 Retrofit 构建器的属性之一是客户端,从第一个函数将客户端设置为客户端。
在 运行 这段代码之后,您可以在 logcat 中搜索 OkHttp 标签,您将看到您所做的请求和响应。
Log.d(TAG, "onResponse: ConfigurationListener::"+call.request().url());
是否有可能将 Call
URL 与 Retrofit 2
中的 String
进行比较?
例如我们可以这样 baseUrl
:
https://www.google.com
还有这个Call
:
public interface ExampleService {
@GET("dummy/{examplePartialUrl}/")
Call<JsonObject> exampleList(@Path("examplePartialUrl") String examplePartialUrl;
}
此请求:
Call<JsonObject> mCall = dummyService.exampleList("partialDummy")
有没有办法在收到呼叫响应之前获得 https://www.google.com/dummy/partialDummy
或 dummy/partialDummy
?
假设您将 OkHttp 与 Retrofit 一起使用,您可以执行以下操作:
dummyService.exampleList("partialDummy").request().url().toString()
根据 OkHttp 文档应该打印:
https://www.google.com/dummy/partialDummy
我个人找到了另一种方法来完成此任务,即使用改造 2 和 RxJava
首先你需要创建一个OkHttpClient对象
private OkHttpClient provideOkHttpClient()
{
//this is the part where you will see all the logs of retrofit requests
//and responses
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
return new OkHttpClient().newBuilder()
.connectTimeout(500, TimeUnit.MILLISECONDS)
.readTimeout(500,TimeUnit.MILLISECONDS)
.addInterceptor(logging)
.build();
}
创建此对象后,下一步就是在改造构建器中使用它
public Retrofit provideRetrofit(OkHttpClient client, GsonConverterFactory convertorFactory,RxJava2CallAdapterFactory adapterFactory)
{
return new Retrofit.Builder()
.baseUrl(mBaseUrl)
.addConverterFactory(convertorFactory)
.addCallAdapterFactory(adapterFactory)
.client(client)
.build();
}
您可以分配给 Retrofit 构建器的属性之一是客户端,从第一个函数将客户端设置为客户端。
在 运行 这段代码之后,您可以在 logcat 中搜索 OkHttp 标签,您将看到您所做的请求和响应。
Log.d(TAG, "onResponse: ConfigurationListener::"+call.request().url());