...
It is common to want to expose information about an existing model object via GraphQL. To make this straightforward while also supporting different ways of formatting the output, we recommend using formatters.
Middleware
Often you have a common pattern that you want to apply to a number of query endpoints (for example requiring login, or requiring a valid item ID be provided to the resolver and preloading that item to check it is valid). Rather than duplicating the code in every query resolver, we recommend making use of middleware.
Documenting schema with comments
...