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.
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:
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.
If you still need to use
express-graphql, please read the previous version of this readme.This library is deprecated
express-graphqlwas 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.
Say hello to
graphql-httpgraphql-httpis now the GraphQL official reference implementation of the GraphQL over HTTP spec.For users
As a reference implementation,
graphql-httpimplements 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)For library authors
Being the official GraphQL over HTTP spec reference implementation,
graphql-httpfollows the specification strictly without any additional features (like file uploads, @stream/@defer directives and subscriptions).Having said this,
graphql-httpis mostly aimed for library authors and simple server setups, where the requirements are exact to what the aforementioned spec offers.Spec compliance audit suite
Suite of tests used to audit an HTTP server for GraphQL over HTTP spec compliance is available in
graphql-httpand you can use it to check your own, or other, servers!Additionally,
graphql-httpwill maintain a list of GraphQL servers in the ecosystem and share their compliance results (see them here).