Retrofit2/OKHttp3:以编程方式设置自定义 per-request headers
Retrofit2/OKHttp3: set custom per-request headers programatically
如何使用 Retrofit2
/OKHttp3
指定自定义 per-request read/write/connect 超时?像
Response<Listings> response =
ApiProvider.getServer1().getListings().setTimeouts(10000).execute();
当前超时设置为 30 秒,这很好,但在一种特定情况下,我受 10 秒执行限制的约束,我需要确保在此之前获得网络响应。
基于 this nice GitHub comment 我知道我可以使用 @Header 设置自定义超时并在 OKHttp 拦截器中解析它们,但如前所述,我只需要一个特定的自定义超时 API 在特定上下文中调用。
我还发现 (option 1) Using OkHttp 2.2+ use Interceptor), 但我看不出如何告诉拦截器我需要自定义超时。
要动态设置 header,您可以使用 @Header
注释将 header 的值作为参数传递给您的方法。
示例:
@GET("some/url")
Call<SomeClass> doSomething(@Header("CONNECT_TIMEOUT") String timeOut);
如何使用 Retrofit2
/OKHttp3
指定自定义 per-request read/write/connect 超时?像
Response<Listings> response =
ApiProvider.getServer1().getListings().setTimeouts(10000).execute();
当前超时设置为 30 秒,这很好,但在一种特定情况下,我受 10 秒执行限制的约束,我需要确保在此之前获得网络响应。
基于 this nice GitHub comment 我知道我可以使用 @Header 设置自定义超时并在 OKHttp 拦截器中解析它们,但如前所述,我只需要一个特定的自定义超时 API 在特定上下文中调用。
我还发现
要动态设置 header,您可以使用 @Header
注释将 header 的值作为参数传递给您的方法。
示例:
@GET("some/url")
Call<SomeClass> doSomething(@Header("CONNECT_TIMEOUT") String timeOut);