Netflix DGS
netflix.github.io
What it is
Netflix DGS is a free, open-source GraphQL server framework for Spring Boot, deployed as a self-hosted API service. Its annotation-based programming model supports Java and Kotlin, with Gradle or Maven builds. DGS favors schema-first development: schema files belong in src/main/resources/schema, and its Gradle plugin can generate Java types from a GraphQL schema. A test framework runs GraphQL queries in lightweight unit tests, while data loaders batch requests to help address the N+1 problem. The framework supports GraphQL Federation, WebSocket and SSE subscriptions, file uploads, error handling, and extension points. Spring Security integration allows @Secured on data fetchers after security configuration. DGS also integrates with Spring for GraphQL, although that path currently lacks SSE subscriptions and some DGS data-loader features do not work with Spring for GraphQL data loaders. A browser GraphiQL editor and an IntelliJ plugin are included. Current documentation requires Spring Boot 3 and JDK 17; DGS 11+ with Spring Boot 4 is actively maintained, while DGS 10.x receives most feature backports until the second half of 2026.
Spec sheet
- Purpose
- DGS is a GraphQL server framework for Spring Boot that makes it easier to create GraphQL services.Read 9 Oct 2026 · netflix.github.io
- License
- The repository lists the Apache-2.0 license.Read 9 Oct 2026 · github.com
- Additional features
- The framework includes GraphQL subscriptions over WebSockets and SSE, file uploads, error handling, and extension points.Read 9 Oct 2026 · github.com
- Build tools
- Projects can use Gradle or Maven, with Java or Kotlin.Read 9 Oct 2026 · netflix.github.io
- Code generation
- The DGS code generation plugin can generate data types from a GraphQL schema.Read 9 Oct 2026 · netflix.github.io
- Compatibility status
- The repository says DGS 11+ with Spring Boot 4 is actively maintained, while DGS 10.x with Spring Boot 3 receives most feature backports until the second half of 2026.Read 9 Oct 2026 · github.com
- Data loaders
- Data loaders batch data requests to help solve the GraphQL N+1 problem.Read 9 Oct 2026 · netflix.github.io
- Federation
- DGS supports GraphQL Federation and can reference and extend federated types.Read 9 Oct 2026 · netflix.github.io
- GraphiQL
- The framework provides a GraphiQL query editor that can be opened in a browser while the service is running.Read 9 Oct 2026 · netflix.github.io
- IDE plugin
- An IntelliJ plugin provides navigation between schema files and code, hints, and quick fixes.Read 9 Oct 2026 · netflix.github.io
- Language and build tools
- The getting-started guide supports Java or Kotlin and Gradle or Maven.Read 9 Oct 2026 · netflix.github.io
- Maintainer
- Netflix primarily maintains the framework, with an active community around it.Read 9 Oct 2026 · netflix.github.io
- Programming model
- DGS provides an annotation-based programming model for Java and Kotlin.Read 9 Oct 2026 · netflix.github.io
- Requirements
- The current documentation requires Spring Boot 3 and JDK 17; DGS 5.x, which supported Spring Boot 2 and JDK 8, is no longer maintained.Read 9 Oct 2026 · netflix.github.io
- Schema development
- DGS is designed for schema-first development and loads schema files from the project's src/main/resources/schema folder.Read 9 Oct 2026 · netflix.github.io
- Security integration
- DGS integrates with Spring Security, allowing @Secured to be applied to data fetchers after Spring Security is configured.Read 9 Oct 2026 · netflix.github.io
- Spring GraphQL integration limitation
- The integration currently lacks support for SSE-based subscriptions and some DGS data-loader features do not work with Spring for GraphQL data loaders.Read 9 Oct 2026 · netflix.github.io
- Spring integration
- DGS integrates with Spring for GraphQL, allowing users to use Spring for GraphQL features and web transports with DGS.Read 9 Oct 2026 · netflix.github.io
- Testing
- DGS provides a query executor for testing data fetchers and documents integration testing with Spring MockMvc and HttpGraphQlTester.Read 9 Oct 2026 · netflix.github.io
Plans and prices
Strong points and limits
Strong points
- Free Apache-2.0 open-source framework
- Supports Java and Kotlin
- Includes schema-to-Java code generation
- Provides GraphQL query testing tools
- Supports Federation and subscriptions
Limits
- Current documentation requires JDK 17
- Spring for GraphQL lacks SSE subscriptions
- Some DGS data loaders do not integrate there
- Older DGS 5.x is unmaintained
Who it suits
DGS suits Java or Kotlin teams building self-hosted GraphQL services with Spring Boot. It is relevant to projects needing schema tooling, federation, testing, data loading, or Spring Security integration.
Verdict
Netflix DGS offers a broad Spring Boot GraphQL toolkit with code generation, testing, federation, and security integration. Check Spring and JDK compatibility carefully, especially when using Spring for GraphQL transports or older DGS releases.
Where Specifiction places it
- GraphQL Tools#14 of 327.7