【问题标题】:GraphQL field-level validation in AppSyncAppSync 中的 GraphQL 字段级验证
【发布时间】:2020-04-25 03:20:39
【问题描述】:

我有一个主要由 DynamoDB 存储支持的 AppSync API。大多数解析器直接连接到 DynamoDB 源,而不是使用 lambda。

某些字段应具有验证约束,例如长度或正则表达式。在一种特殊情况下,我想要求 state 字段包含 ISO 3166-2 值,例如 US-NY。 (GraphQL 枚举值不能包含连字符,所以这里不是一个选项。)

除了用 lambdas 替换一些解析器之外,我能想到的应用这些类型的验证规则的唯一方法是在 RequestMappingTemplate 的 VTL 中进行。这会起作用,但它会很乏味并且可能会导致重复的代码。有替代品吗?

【问题讨论】:

    标签: graphql aws-appsync


    【解决方案1】:

    不幸的是,没有 lambda 的唯一方法是 VTL,我建议不要直接在 RequestMappingTemplate 内编写验证,而是使用管道解析器。(重复较少)

    管道解析器包含一个或多个按顺序执行的函数。

    函数允许您编写通用逻辑,以便在架构中的多个解析器之间重用。它们直接附加到数据源,并且像单元解析器一样,包含相同的请求和响应映射模板格式。


    你可以找到一个很好的例子here

    【讨论】:

      猜你喜欢
      • 2019-09-20
      • 2019-05-13
      • 1970-01-01
      • 2013-02-24
      • 2021-07-30
      • 2023-03-12
      • 2019-11-11
      • 2019-09-24
      • 2020-01-16
      相关资源
      最近更新 更多