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

5. 执行您的第一次查询


要使用在中生成的RocketReserverAPI,首先创建一个ApolloClient实例。这个实例采用您的生成代码,并使用它对您的服务器进行网络调用。建议该实例是单例或静态实例,可以从代码库中的任何地方访问。

创建一个ApolloClient

  1. RocketReserver中创建一个名为Network.swift的新Swift文件。将目标设置为RocketReserver并在文件顶部添加import Apollo

  2. 现在请将以下代码添加到文件中

Network.swift
class Network {
static let shared = Network()
private(set) lazy var apollo = ApolloClient(url: URL(string: "https://apollo-fullstack-tutorial.herokuapp.com/graphql")!)
}

实现查询

为了确保您的ApolloClient实例能够正确与服务器通信,请转到LaunchListViewModel,添加以下导入项,然后在TODO下面添加以下代码到init() 方法中:

LaunchListViewModel.swift
import Apollo
import RocketReserverAPI
...
init() {
// TODO (Section 13 - https://apollo.graphql.net.cn/docs/ios/tutorial/tutorial-subscriptions#use-your-subscription)
Network.shared.apollo.fetch(query: LaunchListQuery()) { result in
switch result {
case .success(let graphQLResult):
print("Success! Result: \(graphQLResult)")
case .failure(let error):
print("Failure! Error: \(error)")
}
}
}

测试您的查询

构建并运行您的应用程序。如果最近没有人使用过,网络主机可能需要几秒钟来启动您的,但一旦启动,您应该看到如下类似的结果:

Query console log output, beginning with 'Success! Result: GraphQLResult...'

这意味着请求已正确执行,您现在有一个发射场列表🚀🚀🚀

继续删除添加到 init() 方法中的代码,仅剩稍后处理的 TODO:

LaunchListViewModel.swift
init() {
// TODO (Section 13 - https://apollo.graphql.net.cn/docs/ios/tutorial/tutorial-subscriptions#use-your-subscription)
}

接下来,我们来 将此数据处理与您的 UI 连接

上一页
4. 运行代码生成
下一页
6. 将查询连接到您的 UI
评分文章评分在 GitHub 上编辑编辑论坛Discord

©2024由 Apollo Graph Inc. 经营,即 Apollo GraphQL。

隐私政策

公司