AppSync中的GraphQL字段级验证

AppSync中的GraphQL字段级验证,graphql,aws-appsync,Graphql,Aws Appsync,我有一个AppSync API,它主要由DynamoDB商店支持。大多数解析器直接连接到DynamoDB源,而不使用lambdas 某些字段应具有验证约束,例如长度或regexp。在一种特殊情况下,我希望要求状态字段包含ISO 3166-2值,如US-NY。(GraphQL枚举值不能包含连字符,因此此处不提供此选项。) 除了用lambda替换一些解析器之外,我能想到的应用这些验证规则的唯一方法是在RequestMappingTemplate中的VTL中进行。这将是可行的,但它将是乏味的,并可能导

我有一个AppSync API,它主要由DynamoDB商店支持。大多数解析器直接连接到DynamoDB源,而不使用lambdas

某些字段应具有验证约束,例如长度或regexp。在一种特殊情况下,我希望要求
状态
字段包含ISO 3166-2值,如
US-NY
。(GraphQL枚举值不能包含连字符,因此此处不提供此选项。)


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

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

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

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


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