reactjs - 使用 AWS AppSync 和 Amplify 从 GraphQL 查询中获取自定义响应
问题描述
我对 GraphQL、Appsync 和 Amplify 非常陌生。我正在使用带有 Amplify 的 AWS AppSync 通过 GraphQL 查询从 DynamoDB 表中获取记录。前端在 ReactJS 中。查看 aws 文档上的一些示例,我似乎可以以 JSON 格式取回记录,就像它存储在表中一样。我想找到一些关于如何遍历返回的记录集并对返回的数据执行一些计算的文档或示例,然后再将其发送回客户端。但我无法将在线文档与我想要实现的目标联系起来。
例如。如果返回的 json 有 3 列,因为支持 DynamoDB 表中只有三列,但我想返回第四列,它是基于某些外部条件的计算值,该条件适用于从 graphql 查询响应返回的三列. 我需要使用什么样的解析器?我还希望能够向该查询发送一些参数,以便基于发送的参数我可以过滤掉响应,并且客户端只有在应用了自定义业务逻辑后才能看到数据。我应该创建一个调用 GraphQL Api 然后在该 API 中执行一些逻辑的 API,还是使用 DynamoDB 解析器或 Lambda 解析器或 GraphQL 解析器?Amplify 会生成 amplify 项目中的所有查询和突变,所以不确定我在哪里编写这些解析器。我需要所有这些逻辑来保持服务器端。我正在寻找一个调查的起点,除非有一个可用的工作示例可以帮助我遍历服务器端 GraphQL API 返回的记录并返回已自定义和过滤的数据。
谢谢你的帮助。
解决方案
您可以在解析器中操纵您的响应。如果使用 VTL 解析器,请查看 $ctx.result,您可以使用它执行 vtl 支持的任何操作。您可以做的另一件事,如果您需要做一些除了一些基本的字符串操作 IMO 之外的任何事情,这是您最好的选择,那就是使用直接 Lambda 解析器。这允许您在解析器中执行任何您想要的任意代码。
推荐阅读
- bash - xdotool:将终止符调整为特定数量的行和列
- usb - 如何解析隐藏报告描述符?
- apache-cayenne - Apache-Cayenne 自定义查询结果
- numbers - 如何将数字四舍五入到第三位?
- typescript - 数组中任意数量对象类型的联合
- ios - 反应原生:RCTFatal + 668
- hive - 插入查询在 Hive 中未按预期工作
- sql-server - Grails 查询强制对字符串参数进行隐式转换
- python - 如何导入 Python 模块并让它在我的主文件中工作?
- javascript - 如何获取完整的标题内容。postman 和 axios 的区别