bod*_*ser 4 graphql aws-appsync
例如,当我们请求一个 GraphQL 查询时,
query GetPost {
singlePost(id: 123) {
id
title
}
}
Run Code Online (Sandbox Code Playgroud)
我们在 AWS AppSync 中配置了一个 Lambda 解析器,请求映射模板,
{
"version" : "2017-02-28",
"operation" : "Invoke",
"payload": {
"resolve": "singlePost",
"query": $utils.toJson($context.arguments)
}
}
Run Code Online (Sandbox Code Playgroud)
允许我们定义传递给 lambda 处理程序的事件对象。
对于上面的示例,我们的 Lambda 处理程序将使用event其中event.payload.query.id == 123等事件调用。
根据 文档,该$context对象包括,
{
"arguments" : { ... },
"source" : { ... },
"result" : { ... },
"identity" : { ... },
"request" : { ... }
}
Run Code Online (Sandbox Code Playgroud)
{代码}
也就是说,文档没有提到我可以在哪里访问 GraphQL 查询的请求字段。
对于前一个示例,这些字段将对应于["id", "title"]。
在我需要通过昂贵的操作(例如 SQL 连接)解析对象的某些嵌套属性(例如标签数组)的情况下,如果我可以检查是否实际请求了此嵌套属性,那将是有益的。
这个问题与如何在 GraphQL 解析器中获取请求的字段有关?但是,它不同于 GraphQL 实现graphql-tools与 AppSync。
| 归档时间: |
|
| 查看次数: |
797 次 |
| 最近记录: |