【问题标题】:Validate user input in AppSync DynamoDB Resolvers在 AppSync DynamoDB 解析器中验证用户输入
【发布时间】:2022-01-20 00:34:34
【问题描述】:

我有带有 DynamoDb 的 AWS AppSync API,我可以使用 DynamoDb Resolvers 创建并从中获取数据。 (VTL 模板)

我不确定如何使用 VTL 模板进行用户输入验证。我想确保联系人的“名字”长度在 2 到 30 个字符之间。

如何使用 VTL 实现这一目标?有没有办法在 GraphQL 架构本身内进行这种验证?

这是我的 GraphQL 架构,

schema {
   query: Query
   mutation: Mutation
}

type Mutation {
   createContact(contact: ContactInput!): Contact! 
}

type Contact {
    contactId: ID!
    firstName: String!
    lastName: String!
    email: String!
}

input ContactInput {
    firstName: String!
    lastName: String!
    email: String!
}

【问题讨论】:

    标签: amazon-web-services graphql serverless aws-appsync


    【解决方案1】:

    我在 GraphQL 中找不到很好的方法,但您可以在 VTL 中使用 $util.validate$util.error 轻松完成此操作(请参阅 the AWS documentation)。它们都具有向errors 数组添加项目的相同结果。

    这是$util.validate 的演示: https://mappingtool.dev/app/appsync/bee55bd607e2166091451e7a7959318e

    这是$util.error 的演示: https://mappingtool.dev/app/appsync/006d6c05e8bb7257c6cebce34494994c

    【讨论】:

    • 感谢扎克的帮助。
    猜你喜欢
    • 2021-07-18
    • 2019-12-04
    • 2019-02-12
    • 2018-12-15
    • 2021-04-04
    • 2019-01-06
    • 1970-01-01
    • 2019-04-22
    • 1970-01-01
    相关资源
    最近更新 更多