加入我们,于10月8日至10日在纽约市参加活动,了解关于GraphQL联邦和API平台工程的最新技巧、趋势和新闻。加入我们,参加2024年的GraphQL峰会(在纽约市)
文档
免费开始

Apollo iOS 1.5 迁移指南

从 1.3 - 1.4 迁移到 1.5


本指南描述了将代码从版本 1.3 或 1.4 迁移到 1.5 的过程

主要更改

版本 1.5 是一个次要版本升级,对于大多数用户无需进行迁移。

  • 对于使用标准ApolloClient 类的用户,此版本将无缝升级,无需对现有代码进行任何更改。
  • 对于具有符合 ApolloClientProtocol 的自定义客户端实现的用户,需要简单的迁移。

虽然我们努力使次要版本的升级路径无缝,但如果没有这个迁移,就无法实现这些改进。对于受影响的用户,请按照此迁移指南更新到 1.5。

请求上下文

1.5 添加了将自定义请求上下文传递给网络 API 的功能。现在,fetchwatchperformuploadsubscribe 方法现在接受一个可选的 RequestContext 参数,该参数用于构建请求,并在拦截器请求链中的任何拦截器中可用。

如果你有符合 ApolloClientProtocol 的代码,如下例所示:

v1.5 迁移示例
class MyCustomClient : ApolloClientProtocol {
public func fetch<Query: GraphQLQuery>(
query: Query,
cachePolicy: CachePolicy = .default,
contextIdentifier: UUID? = nil,
queue: DispatchQueue = .main,
resultHandler: GraphQLResultHandler<Query.Data>? = nil
) -> Cancellable {
..
}
// other ApolloClientProtocol methods
}

你只需要将新属性添加到方法定义中

v1.5 迁移示例
class MyCustomClient : ApolloClientProtocol {
public func fetch<Query: GraphQLQuery>(
query: Query,
cachePolicy: CachePolicy = .default,
contextIdentifier: UUID? = nil,
context: RequestContext? = nil,
queue: DispatchQueue = .main,
resultHandler: GraphQLResultHandler<Query.Data>? = nil
) -> Cancellable {
..
}
// other ApolloClientProtocol methods
}
上一个
v1.3
下一个
v1.6
评分文章评分在GitHub编辑编辑论坛Discord

©2024Apollo Graph Inc.,即Apollo GraphQL。

隐私政策

公司