本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用你的 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 } }
选择顶部的按钮来运行更改。运行完成后,来自选择集(即 id
、name
、description
和 priority
)的结果将显示在右侧。数据也存在于您的数据源的 Amazon DynamoDB 表中,您可以使用控制台进行验证。
现在按如下所示运行查询:
query list { getTodos { id name } }
这将返回您的数据,但只返回您的选择集中的两个字段(id
和 name
)。
如果您遇到诸如验证错误之类的错误 FieldUndefined,则可能已按照设置关系和分页的说明进行操作。如果是这样,请使用下一部分中的查询。
关系和分页
如果已设置具有关系和分页的高级架构,您的 getTodos
查询看起来会有点不同。首先,将一条评论添加到 todo
,如下所示:
mutation addComment { addComment(todoid:"123" content:"GraphQL is fun"){ todoid commentid content } }
在此示例中,会自动创建 commentid
。再添加几个 todos
和 comments
,将 limit
设置为 2 条记录,然后运行 getTodos
,如下所示:
query list { getTodos(limit:2){ todos { id name status comments{ commentid content } } nextToken } }
只有两个 todo 返回(带评论),因为您在参数中指定了 limit:2
。nextToken
字段应返回一个长字符串。如果您复制此字符串,则可以将其作为 getTodos
中的第二个参数传递,方法为替换 getTodos(limit:2 nextToken:"XXXXXXXXXXXX")
中的 XXXXXXXXXXXX
。例如:
query list { getTodos(limit:2 nextToken:"eyJ2ZXJzaW9uejE1a2RPanZPQzFCMlFTdGNxdUFBQUJxekNDQWFjR0NTcUdTSWIzRFFFSEJxQ0NBWmd3Z2dHVUFnRUFNSUlCalFZSktvWklodmNOQVFjQk1CNEdDV0NHU0FGbEF3UUJMakFSQkF5eEtWQjUvTlJxS2o5ZHBYc0NBUkNBZ2dGZUZFNW1MbTRkb25BOUg0U0FpOGhSZ1lucmRndmQz"){ todos { id name status comments{ commentid content } } nextToken } }
在客户端应用程序中,您可以根据您的分页流和逻辑将此令牌作为参数传递。
后续步骤
现在您已经创建了一个架构,可以演练如何将它与不同的数据源一起使用,了解有关高级解析程序功能的更多信息,或者构建客户端应用程序。有关详细信息,请参阅以下章节: