使用AWS Amplify如何更新schema.graphql模型文件,以便针对所创建的graphql API跨多个字段进行后端验证。
例如,使用以下用于放大的schema.graphql文件,如何更新此文件(或使用项目中其他文件的附加文件),以便在其创建的graphql API上包含服务器端验证检查,从而:
“ startDate应该在endDate之前”
schema.graphql文件:
type Event @model {
id: ID!
name: String!
startDate: AWSDate!
endDate: AWSDate!
plan: Plan! @connection(name: "PlanEvents")
}
如果使用amplify无法做到这一点(请注意,我正在使用带有响应前端的javascript amplify),则建议采取哪种方法来实施(例如,我必须研究和学习哪些后端AWS组件,以及如何将其与自动放大的graphql api集成在一起,已经为我有效地自动构建了
答案 0 :(得分:1)
您可以添加一个custom resolver
您的事件模型将导致创建文件build/Mutation.createEvent.req.vtl
,可以通过添加resolvers/Mutation.createEvent.req.vtl
将其覆盖。在该文件中,您可以放入比较两个日期并抛出错误的逻辑。像这样:
#if( $ctx.args.input.startDate > $ctx.args.input.endDate )
$util.error("startDate must be before endDate")
#end
请记住,我不知道在VTL中比较日期的实际语法是什么。 This可能有帮助