If you still need to use express-graphql
, please read the previous version of this readme.
express-graphql
was the first official reference implementation of using GraphQL with HTTP. It has existed since 2015 and was mostly unmaintained in recent years.
The official GraphQL over HTTP work group is standardizing the way you transport GraphQL over HTTP and it made great progress bringing up the need for a fresh reference implementation.
Please read the GraphQL over HTTP spec for detailed implementation information.
graphql-http
graphql-http
is now the GraphQL official reference implementation of the GraphQL over HTTP spec.
As a reference implementation, graphql-http
implements exclusively the GraphQL over HTTP spec.
In case you're seeking for a full-featured experience (with file uploads, @defer/@stream directives, subscriptions, etc.), you're recommended to use some of the great JavaScript GraphQL server options:
graphql-yoga
(compliant (0 warnings), migration guide)postgraphile
(compliant)apollo-server
(compliant)mercurius
(compliant)Being the official GraphQL over HTTP spec reference implementation, graphql-http
follows the specification strictly without any additional features (like file uploads, @stream/@defer directives and subscriptions).
Having said this, graphql-http
is mostly aimed for library authors and simple server setups, where the requirements are exact to what the aforementioned spec offers.
Suite of tests used to audit an HTTP server for GraphQL over HTTP spec compliance is available in graphql-http
and you can use it to check your own, or other, servers!
Additionally, graphql-http
will maintain a list of GraphQL servers in the ecosystem and share their compliance results (see them here).