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,MutationorSubscriptiontype 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>/resolversfolder. - Graphql Transformer follows
<TypeName>.<FieldName>.<req/res>.vltas 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.jsonin<project-root>/amplify/backend/api/<api-name>/stacksdirectory 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!
Top comments (0)