Home

Awesome

GraphQL Java Servlet

Maven Central Build Status Quality Gate Status GitHub contributors Discuss on GitHub

We are looking for contributors!

Are you interested in improving our documentation, working on the codebase, reviewing PRs?

Reach out to us on Discussions and join the team!

We hope you'll get involved! Read our Contributors' Guide for more details.

Overview

Implementation of GraphQL Java Servlet including support for Relay.js, Apollo and OSGi out of the box. This project wraps the Java implementation of GraphQL provided by GraphQL Java. See GraphQL Java documentation for more in depth details regarding GraphQL Java itself.

We try to stay up to date with GraphQL Java as much as possible maintaining the retro-compatibility with javax and Springframework 5.

On each release we publish three flavours of this project:

All of them also supports legacy projects that can compile with older JDK versions: the minimum JDK version supported is the 11.

Jakarta and Springframework 6.*

This is the main flavour using the latest version of Jakarta (currently the 6.*) and the latest version of Springframework (currently the 6.*). All the codebase can be found in the branch: master

<dependency>
    <groupId>com.graphql-java-kickstart</groupId>
    <artifactId>graphql-java-servlet</artifactId>
    <version>${graphql-java-servlet.version}</version>
</dependency>

Jakarta5

This flavour use the jakarta version 5.* and it is meant to be used for all the projects that are already migrated to jakarta, but they are waiting that jakarta6 will become more broadly used. All the codebase can be found in the branch: jakarta5

<dependency>
    <groupId>com.graphql-java-kickstart</groupId>
    <artifactId>graphql-java-servlet-jakarta5</artifactId>
    <version>${graphql-java-servlet-jakarta5.version}</version>
</dependency>

Javax and Springframework 5.*

This is the legacy flavour using the javax dependency and the version 5.* of Springframework (since it is still broadly used by a lot of projects). All the codebase can be found in the branch: master

<dependency>
    <groupId>com.graphql-java-kickstart</groupId>
    <artifactId>graphql-java-servlet-javax</artifactId>
    <version>${graphql-java-servlet.version}</version>
</dependency>

Installation and getting started

See Getting started for more detailed instructions.