使用你的 API - Amazon AppSync
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用你的 API

既然您有了 GraphQL API 且上传了架构、配置了数据源且解析程序已连接到您的类型,您就可以测试 API 了。以下两个示例假设您使用了 “设计架构” 中的基本架构

在 Amazon AppSync 中,选择 Queries (查询) 选项卡,然后在编辑器中输入以下文本:

mutation add { addTodo(id:"123" name:"My TODO" description:"Testing Amazon AppSync" priority:2){ id name description priority } }

选择顶部的按钮来运行更改。运行完成后,来自选择集(即 idnamedescriptionpriority)的结果将显示在右侧。数据也存在于您的数据源的 Amazon DynamoDB 表中,您可以使用控制台进行验证。

现在按如下所示运行查询:

query list { getTodos { id name } }

这将返回您的数据,但只返回您的选择集中的两个字段(idname)。

注意

如果您遇到诸如验证错误之类的错误 FieldUndefined,则可能已按照设置关系和分页的说明进行操作。如果是这样,请使用下一部分中的查询。

关系和分页

如果已设置具有关系和分页的高级架构,您的 getTodos 查询看起来会有点不同。首先,将一条评论添加到 todo,如下所示:

mutation addComment { addComment(todoid:"123" content:"GraphQL is fun"){ todoid commentid content } }

在此示例中,会自动创建 commentid。再添加几个 todoscomments,将 limit 设置为 2 条记录,然后运行 getTodos,如下所示:

query list { getTodos(limit:2){ todos { id name status comments{ commentid content } } nextToken } }

只有两个 todo 返回(带评论),因为您在参数中指定了 limit:2nextToken 字段应返回一个长字符串。如果您复制此字符串,则可以将其作为 getTodos 中的第二个参数传递,方法为替换 getTodos(limit:2 nextToken:"XXXXXXXXXXXX") 中的 XXXXXXXXXXXX。例如:

query list { getTodos(limit:2 nextToken:"eyJ2ZXJzaW9uejE1a2RPanZPQzFCMlFTdGNxdUFBQUJxekNDQWFjR0NTcUdTSWIzRFFFSEJxQ0NBWmd3Z2dHVUFnRUFNSUlCalFZSktvWklodmNOQVFjQk1CNEdDV0NHU0FGbEF3UUJMakFSQkF5eEtWQjUvTlJxS2o5ZHBYc0NBUkNBZ2dGZUZFNW1MbTRkb25BOUg0U0FpOGhSZ1lucmRndmQz"){ todos { id name status comments{ commentid content } } nextToken } }

在客户端应用程序中,您可以根据您的分页流和逻辑将此令牌作为参数传递。

后续步骤

现在您已经创建了一个架构,可以演练如何将它与不同的数据源一起使用,了解有关高级解析程序功能的更多信息,或者构建客户端应用程序。有关详细信息,请参阅以下章节: