GraphQL for Drupal
This module lets you craft and expose a GraphQL schema for Drupal 8.
It is is built around https://github.com/webonyx/graphql-php. As such, it supports the full official GraphQL specification with all its features.
You can use this module as a foundation for building your own schema through custom code or you can use and extend the generated schema using the plugin architecture and the provided plugin implementations form the sub-module.
For ease of development, it includes the GraphiQL interface at/graphql/explorer
.
Quickstart
To get a quick overview from the query part of GraphQL in action watch the following video's.
Example implementation
Check out https://github.com/fubhy/drupal-decoupled-app for a complete example of a fully decoupled React and GraphQL application. Feel free to use that repository as a starting point for your own decoupled application.
Documentation
Documentation is heavily worked on, but still far from complete. This is due to the vast amount of improvements and additional features we've added to the module recently. As we are finishing up the 3.x version of this module we will be re-doing the documentation and record a series of screencasts.
These blog posts provide additional information on how to use and extend the module as well as other other contributed modules supporting it:
- https://www.amazeelabs.com/en/blog/graphql-introduction
- https://www.amazeelabs.com/en/blog/drupal-graphql-react-apollo
- https://www.amazeelabs.com/en/blog/drupal-graphql-batteries-included
- https://www.amazeelabs.com/en/blog/extending-graphql-part1-fields
- https://www.amazeelabs.com/en/blog/extending-graphql-part-2
- https://www.amazeelabs.com/en/blog/graphql-for-drupalers-fields
- https://www.amazeelabs.com/en/blog/extending-graphql-part-3-mutations
- https://www.amazeelabs.com/en/blog/dont-push-it-using-graphql-twig
Resources
- Project homepage: https://www.drupal.org/project/graphql
- Contributing: https://github.com/drupal-graphql/graphql