创建客户端
在执行之前GraphQL 操作 在你的应用中,你需要初始化一个 ApolloClient
实例。
基本客户端创建
为了创建一个基本配置的客户端,您只需提供您的 ApolloClient
到您的 GraphQL 服务器 的 URL 即可。
let client = ApolloClient(url: URL(string: "https://127.0.0.1:4000/graphql")!)
默认客户端配置使用
- 一个
InMemoryNormalizedCache
来在内存中缓存响应数据。 - 一个
RequestChainNetworkTransport
配置用于通过HTTP与符合规范的GraphQL服务器通信。 - 一个
DefaultInterceptorProvider
支持以下功能:- 将响应数据读取/写入到规范缓存中。
- 使用
URLSession
发送网络请求。 - 解析JSON格式的GraphQL响应数据
- 自动持久化查询。
自定义客户端创建
如果需要自定义网络客户端配置,请使用指定的初始化器。
ApolloClient
使用NetworkTransport
对象和一个ApolloStore
来初始化。
public init(networkTransport: NetworkTransport,store: ApolloStore)
网络传输
Apollo iOS 提供以下符合 NetworkTransport
协议 的类:
类 | 描述 |
---|---|
RequestChainNetworkTransport | 通过一系列拦截器将请求发送,可以在请求发送前和发送后与其交互。使用标准的 HTTP 请求与服务器进行通信。 |
WebSocketTransport | 通过 WebSocket 传输 所有 GraphQL 操作。需要 ApolloWebSocket 库。 |
SplitNetworkTransport | 通过 WebSocket 传输订阅操作,通过 HTTP 传输其他操作。需要 ApolloWebSocket 库。 |
Apollo 存储
The ApolloStore
是用于存储 GraphQL 响应数据的缓存。默认缓存将数据存储在内存中。这些数据在应用程序运行之间不持久化。
为了在磁盘上持久化缓存数据或进一步配置缓存,您可以提供自定义的 ApolloStore
。
有关使用我们的 缓存文档 自定义缓存的更多信息。