与我们在纽约市一起参加10月8日至10日的活动,了解关于GraphQL联盟和API平台工程的最新技巧、趋势和新闻。在纽约市参加GraphQL Summit 2024
文档
免费开始

3. 编写第一个查询


最常用的 查询,它从您的 请求数据,数据的结构符合您的服务器架构。如果您回到 沙箱,可以看到您早期打开的模式参考标签中的可用查询。

向下滚动到launches 以获取其详细信息:

Detail about launches field

在这里,您可以看到 术语本身、返回类型以及可以传递给查询的参数信息。您可以使用这些信息编写您最终要将查询添加到您的应用程序中的查询。

要在沙箱资源管理器中开始使用此 query,请选择信息右侧的“播放”按钮:

Open in Explorer

这将使您返回到沙箱的“资源管理器”选项卡,左侧边栏显示您选择的 query 的文档:

Docs open in the left sidebar

注意 launches 图标旁边的按钮。点击此按钮将 query 添加到中间的 "" 面板:

Click the button to add this query

query 添加后,它将看起来像这样:

The query once it's been added to the Operations section

让我们来看看这里能看到的内容

  • 操作的类型查询Query(我们将在稍后使其更加具体),是外层括号集。
  • 下一组括号包含'查询'选择集。在GraphQL中,选择集是指你希望获取的字段'列表。由于此查询''参数'都有默认值,因此它们不会自动添加到查询中。
  • 括号之间空白区域的错误,你需要在此处放置包含每个所需信息的列表。

Apollo iOS SDK要求每个都有一个名称(尽管GraphQL规范不要求)。由于你将创建不止一个查询,因此给它一个比Query更具体的名称也是个好主意。将操作的名称更改为LaunchList

Renaming the query

接下来,在左侧,你可以选择你希望返回对象中的哪些'字段'。首先点击 рядом с полем cursor。这将标记该字段为选中状态,并将其插入到你的操作中:

After adding the cursor field.

这可能是在对象中添加字段的 easiest 方法,因为它知道所有things的名称和类型。

然而,你还可以使用自动完成来帮助你完成这个任务。在'面板中在cursor下添加换行符,然后开始输入ha。将显示一个自动完成框,并列出基于模式中的选项:

Example of autocomplete

沙盒探索程序是一个在不需要反复在Xcode中重新构建项目以测试更改的情况下构建和验证查询的极好工具。

正如模式所示,launches查询返回一个LaunchConnection对象。此对象包含一个包含与分页(cursor和相关字段。hasMore)的列表。你迄今为止编写的查询明确指出了你希望从该LaunchConnection对象返回哪些字段。

通过按下“提交”按钮来运行此查询,该按钮现在应具有你查询的名称,LaunchList

Submit the operation

您会发现,查询的结果将以JSON对象的形式显示在页面右侧:

Query JSON in Sandbox Explorer

查询执行成功,但没有包含任何关于发射的信息!这是因为我们没有在查询中包括必要的字段

发射字段位于左侧列的底部,点击其旁边的按钮。它会为发射添加一组花括号到操作部分,然后移动文档显示关于发射类型的

Status after adding launches field

您在此組括号中添加的字段将用于检索列表中的每一个发射的信息。点击idsite属性旁边的按钮来添加这两个字段。完成後,您的操作应如下所示:

(沙盒探索器)
query LaunchList {
launches {
cursor
hasMore
launches {
id
site
}
}
}

再次运行操作,您现在会看到除了之前得到的信息外,还有关于发射的列表及其ID和站点信息:

Updated query JSON in Sandbox Explorer

将查询添加到Xcode中

现在您的查询已正确检索数据,是时候将它添加到Xcode中了。

  1. 在项目层次结构中,右击graph文件夹,并选择新建文件...
Updated query JSON in Sandbox Explorer
  1. 选择空白文件模板,并点击下一步
Empty file template
  1. 将文件命名为LaunchList.graphql,确保该文件被添加到包含您的schema.graphqls文件所在的graph文件夹。最后,请确保该文件不会被添加到应用目标,然后点击创建
Don't add file to target
  1. 通过在沙盒探索器中选中操作名称旁边的三个点(即“肉球”)菜单并选择“复制操作”来复制您的最终操作
Copy operation from Explorer Sandbox
  1. 将复制的操作粘贴到LaunchList.graphql文件中。您的查询文件现在应该看起来像这样:
/graphql/LaunchList.graphql
query LaunchList {
launches {
cursor
hasMore
launches {
id
site
}
}
}

现在您有一个可用的查询,在下一步中,您将通过生成代码。运行代码生成。

上一页
2. 添加GraphQL模式
下一页
4. 运行代码生成
评价文章评价Edit on GitHubEdit论坛Discord

©2024Apache Graph Inc.,以Apollo GraphQL名义。

隐私政策

公司