You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法为Apollo Client(Apollo-Kotlin 3版本)添加OkHttp客户端

解决Apollo Client 3.x中无法找到okHttpClient()方法的问题

问题原因

Apollo Client 3.x版本调整了网络客户端的配置逻辑,okHttpClient()方法不再直接暴露在ApolloClient.Builder中,且需要额外引入OkHttp相关依赖包才能使用自定义OkHttp客户端。

解决方案

1. 添加Apollo OkHttp依赖

在应用模块的build.gradle中补充apollo-okhttp依赖:

// Graphql
def apollo3GraphqlVersion = '3.6.1'
implementation "com.apollographql.apollo3:apollo-runtime:$apollo3GraphqlVersion"
implementation "com.apollographql.apollo3:apollo-rx3-support:$apollo3GraphqlVersion"
// 新增OkHttp支持依赖
implementation "com.apollographql.apollo3:apollo-okhttp:$apollo3GraphqlVersion"

2. 修改Apollo Client初始化代码

Apollo 3.x需要通过HttpClient包装自定义OkHttp实例,再传递给ApolloClient.Builder:

// 先创建自定义OkHttpClient实例(可添加拦截器、超时时间等配置)
OkHttpClient okHttpClient = new OkHttpClient.Builder()
    .connectTimeout(10, TimeUnit.SECONDS)
    .build();

// 构建ApolloClient
apolloClient = new ApolloClient.Builder()
    .serverUrl(baseUrl)
    // 通过HttpClient传递OkHttp实例
    .httpClient(HttpClient.create(okHttpClient))
    .build();

若无需自定义OkHttp配置,可直接使用默认HttpClient;但要指定自定义实例时,必须通过上述HttpClient包装的方式传递。

内容的提问来源于stack exchange,提问作者nandha-dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 15:57:15