如何使用Retrofit2
/ OKHttp3
指定自定义每请求读/写/连接超时?就像是
Response<Listings> response =
ApiProvider.getServer1().getListings().setTimeouts(10000).execute();
目前超时设置为30秒,这很好,但在一个特定情况下,我受到10s执行限制的约束,我需要确保在此之前获得Web响应。
基于this nice GitHub comment,我知道我可以使用@Header设置自定义超时并在OKHttp Interceptor中解析它们,但如前所述,我需要在特定上下文中仅针对一个特定的API调用进行自定义超时。
我还发现this answer(选项1)使用OkHttp 2.2+使用拦截器),但我看不出我怎么能告诉拦截器我需要自定义超时。
要动态设置标题,可以使用@Header
批注将标头值作为参数传递给方法。
例:
@GET("some/url")
Call<SomeClass> doSomething(@Header("CONNECT_TIMEOUT") String timeOut);