Yinlin Chen
Posted on June 9, 2021
AWS Amplify is great! It handles AppSync backend with AWS resources, like DynamoDB, ElasticSearch, etc for you. However, sometimes these default generated GraphQL schema and resolvers are not fulfill our business need. We create an Amplify Appsync GraphQL GitHub repo to document some of the custom AppSync Resolver.
There are three steps to create your custom resolvers using AWS Amplify CLI
-
Step1: Add custom type to the schema
- Add custom
Query
,Mutation
orSubscription
type to your schema.
- Add custom
-
Step2: Create custom resolver template
- Request and response template should be located in
<project-root>/amplify/backend/api/<api-name>/resolvers
folder. - Graphql Transformer follows
<TypeName>.<FieldName>.<req/res>.vlt
as convention to name the resolvers.- Request template:
Query.myCustomQuery.req.vtl
- Response template:
Query.myCustomQuery.res.vtl
- Request template:
- Request and response template should be located in
-
Step3: Add resolvers resource by creating a custom stack
- By default, there is a file called
CustomResources.json
in<project-root>/amplify/backend/api/<api-name>/stacks
directory of your API. - Example: CustomResource.json
- By default, there is a file called
Currently, we provides these examples:
- Basic models
- Enable basic search
- Fuzzy search
- Query for Interface type
- Search with AND/OR operations
- Multi-fields search
- Custom searchable input
- Query for Union type
You can deploy the entire example app here:
We hopes these examples help! Please feel free to contribute more custom examples to us and make it better!
Posted on June 9, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.