如何使用 Retrofit2
/OKHttp3
指定自定义每个请求的读/写/连接超时?类似的东西
Response<Listings> response =
ApiProvider.getServer1().getListings().setTimeouts(10000).execute();
目前超时设置为 30 秒,这很好,但在一种特定情况下,我受到 10 秒执行限制的约束,并且我需要确保在此之前获得网络响应。
基于 this nice GitHub comment,我知道我可以使用 @Header 设置自定义超时并在 OKHttp 拦截器中解析它们,但如前所述,我只需要为特定上下文中的一个特定 API 调用自定义超时。
我还发现了this answer(选项1)使用OkHttp 2.2+使用拦截器),但我不知道如何告诉拦截器我需要自定义超时。
最佳答案
要动态设置 header ,您可以使用 @Header
注释将 header 值作为参数传递到方法中。
示例:
@GET("some/url")
Call<SomeClass> doSomething(@Header("CONNECT_TIMEOUT") String timeOut);
关于android - 改造2/OKHttp3 : set custom per-request headers programatically,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52385167/