【问题标题】:Adding an Interceptor to an already built okHttp3 client将拦截器添加到已经构建的 okHttp3 客户端
【发布时间】:2018-03-17 10:16:27
【问题描述】:

是否可以将拦截器添加到已经构建的 okHttp3 客户端?我使用单例客户端,并希望将拦截器添加到已构建的客户端,这样我就可以向客户端添加自定义 cookie,而无需手动将其添加到每个请求中。

直接从客户端访问拦截器列表returns an immutable list.

【问题讨论】:

    标签: android kotlin interceptor okhttp3


    【解决方案1】:

    这就是 newBuilder() 方法的设计目的:

    val modifiedClient = client.newBuilder()
           .addNetworkInterceptor(MyCookieInterceptor())
           .build()
    

    您可以使用newBuilder() 自定义共享OkHttpClient 实例。这将构建一个共享相同连接池、线程池和配置的客户端。使用构建器方法为特定目的配置派生客户端。

    请参阅javadoc 的前几段了解更多详情。

    【讨论】:

    • 是的,不知道为什么我一开始不尝试这个。我的脑袋放屁。谢谢!
    猜你喜欢
    • 2019-01-20
    • 1970-01-01
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 2016-01-06
    • 1970-01-01
    相关资源
    最近更新 更多