【发布时间】:2016-08-10 16:12:21
【问题描述】:
我有许多不同的 OkHttpClient 请求拦截器。只有应用程序发出的网络请求的子集才需要每个拦截器。到目前为止,我已经提出了两种可能的设计。我应该:
- 将每个拦截器附加到单个 OkHttpClient 客户端。
或
- 为每组拦截器克隆客户端,以便每个 OkHttpClient 仅具有这些请求所需的拦截器。
谢谢!
【问题讨论】:
我有许多不同的 OkHttpClient 请求拦截器。只有应用程序发出的网络请求的子集才需要每个拦截器。到目前为止,我已经提出了两种可能的设计。我应该:
或
谢谢!
【问题讨论】:
我会支持第一种情况,因为它是
只需让每个拦截器都使用条件检查。
AFAIK 连接池可以在您克隆的 OkHttpClient 实例之间共享,例如client.newBuilder().x(...).build(),前提是您不执行更改 SSLContext 之类的操作。
【讨论】: