graphql-java

graphql-java/graphql-java

Java MIT Web Dev

GraphQL Java implementation

6.2k stars
1.1k forks
recent
GitHub +1 / week

6.2k

Stars

1.1k

Forks

37

Open issues

30

Contributors

v26.0 23 Apr 2026

AI Analysis

GraphQL Java is a mature, specification-compliant GraphQL implementation for the JVM that enables developers to build GraphQL APIs in Java and Spring environments. It serves enterprise and mid-market Java teams building production GraphQL services, and is particularly valuable for organizations already invested in the Java ecosystem; it is not a general-purpose tool for non-JVM languages or for teams without Java expertise.

Web Dev Library Discovery value: 2/10
Documentation 8/10
Activity 9/10
Community 9/10
Code quality 7/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 8/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

graphql jvm java api-development spring
Actively maintained Well documented MIT licensed Niche/specialized use case Beginner friendly Production ready
Deep Analysis · Based on README and public signals
2w ago

The canonical GraphQL implementation for the JVM, backing Spring for GraphQL and enterprise Java stacks

graphql-java is the foundational GraphQL runtime for Java and the JVM ecosystem. It parses, validates, and executes GraphQL queries against schema definitions, and serves as the low-level engine beneath higher-level frameworks like Spring for GraphQL and Netflix DGS. It is primarily used by backend Java/Spring teams building GraphQL APIs, as well as framework authors who layer on top of it. Its importance is structural: most Java-based GraphQL infrastructure ultimately depends on this library, making it a core platform dependency rather than an end-user tool.

Origin

Created in July 2015 by Andreas Marek, it has tracked the GraphQL specification closely since its early draft days. It has matured through major version cycles, reaching version 24 as of mid-2026, and established a book and tutorial ecosystem around it.

Growth

Growth was driven primarily by the rise of GraphQL adoption in enterprise Java environments, especially after Spring for GraphQL (Spring Boot integration) made it accessible to the broader Spring community. Stars have plateaued as the library reached mature saturation — the core JVM GraphQL space is largely settled rather than contested. Federation support via third-party tools (feddi-gateway) has extended its relevance into microservices architectures.

In production

Strong indirect adoption evidence: graphql-java is a declared dependency of Spring for GraphQL (an official Spring project used by hundreds of thousands of Spring Boot applications) and Netflix DGS Framework. Maven Central download statistics are not provided in the metadata, but the transitive dependency chain through Spring and Netflix projects implies production usage at significant scale across enterprise Java environments.

Code analysis
Architecture

Likely a core execution engine architecture: schema definition (SDL and programmatic), query parsing, validation pipeline, and execution engine with DataFetcher abstractions. Based on README references to Spring Boot integration and federation gateway support, it appears designed as an embeddable library with clear extension points for instrumentation, data-fetching, and custom scalars.

Tests

not documented in README

Maintenance

Last push was June 8, 2026 — 17 days before the current date. This is actively maintained. Version 24 is the current release series visible in Maven Central badges. CI via GitHub Actions is in place. Given the 11-year project age and stable versioning, maintenance appears steady and deliberate rather than rapid-churn.

Honest verdict

ADOPT IF: you are building a GraphQL API on the JVM and need a spec-compliant, actively maintained foundation — especially if using Spring Boot (prefer Spring for GraphQL on top of it) or building a custom framework. AVOID IF: you want a high-level, opinionated GraphQL framework out of the box — graphql-java is low-level and requires significant wiring; use DGS or Spring for GraphQL instead. MONITOR IF: you depend on federation support, as that capability is currently delegated to the separately maintained feddi-gateway project, which introduces an external dependency risk.

Independent dimensions

Mainstream potential

5/10

Technical importance

8/10

Adoption evidence

8/10

Risks
  • As a low-level library, it requires significant boilerplate and framework integration work; teams often underestimate this and should prefer a higher-level wrapper like Spring for GraphQL.
  • Federation support is not natively built in — it is deferred to the third-party feddi project, which is independently developed and may diverge in maturity or maintenance cadence.
  • Stars gained in the last 7 days show zero growth, consistent with a mature, saturated library — new ecosystem entrants may look past it in favor of more opinionated stacks.
  • Version churn in the GraphQL specification (e.g., deferred execution, incremental delivery) may require sustained implementation effort; any lag in spec compliance could affect teams needing cutting-edge features.
  • Being a transitive dependency for major frameworks means breaking changes, even if rare, can have wide blast radius across the JVM ecosystem.
Prediction

graphql-java will remain the stable, largely invisible backbone of JVM GraphQL infrastructure for the foreseeable future. It is unlikely to grow rapidly in star count but equally unlikely to lose relevance given its structural position in the ecosystem.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

Java
54.1%
Groovy
45.7%
ANTLR
0.1%
Shell
0.1%
HTML
0.1%

Information

Language
Java
License
MIT
Last updated
1w ago
Created
134mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

spring-projects

spring-projects/spring-graphql

Spring for GraphQL provides official Spring Framework integration with GraphQL...

1.6k Java Web Dev
graphql

graphql/graphql-js

GraphQL.js is the official JavaScript reference implementation of GraphQL, a...

20.4k TypeScript Web Dev
graphql

graphql/graphql-spec

This is the official GraphQL language specification repository, maintained by...

14.6k JavaScript Dev Tools
graphql-go

graphql-go/graphql

A Go implementation of GraphQL that follows the official graphql-js reference...

10.2k Go Web Dev
grpc

grpc/grpc-java

gRPC-Java is the official Java implementation of gRPC, a modern RPC framework...

12k Java Dev Tools
vs. alternatives
graphql-js

The reference implementation in TypeScript/JavaScript. Serves a completely different ecosystem (Node.js). graphql-java mirrors its specification compliance but for the JVM. Not a direct competitive choice — Java teams have no alternative runtime.

graphql-go/graphql

The Go ecosystem equivalent. Different language, different trade-offs. Not a competitive threat to graphql-java; the comparison is only relevant for polyglot teams choosing between backend languages.

Netflix/dgs-framework

DGS is built on top of graphql-java, not a competitor. It provides a higher-level Spring Boot opinionated layer. Teams using DGS are indirectly using graphql-java.

grpc/grpc-java

Solves a different problem (RPC vs. query language). Only relevant in architectural decisions about API style. Not a runtime substitute for GraphQL.

SmallRye GraphQL (MicroProfile)

Another JVM GraphQL framework targeting Jakarta EE / Quarkus ecosystems. Also built on graphql-java internally. Represents a different integration surface, not a competing runtime.