public class Router {
...
private static Retrofit retrofit = null;
...
public Retrofit getRetrofit() {
if (retrofit == null) {
...
OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(30, TimeUnit.SECONDS)
.writeTimeout(60, TimeUnit.SECONDS)
.readTimeout(60, TimeUnit.SECONDS)
.build();
retrofit = new Retrofit.Builder()
.baseUrl("***")
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.client(client)
.build();
}
return retrofit;
}
...
}
我在OkHttpClient
中设置了超时。现在有一个API
需要不同的超时。
我该怎么办?
有这样的东西吗?
@Timeout
Observable<ResponseBody> exapmle(@Timeout("connect") int connect
, @Timeout("read") int read
, @Timeout("write") int write);
4条答案
按热度按时间mrphzbgm1#
多谢了。
下面是我代码:
示例用法:
或
unftdfkk2#
Kotlin
拦截器
确定HttpClient
HttpApi实现
p4tfgftt3#
创建一个新的改进示例,在其中将超时值作为参数传递。
没有类似下面的选项:
ubof19bj4#
这是我的Kotlin版本:
拦截器
确定HttpClient
API