GraphQL Java Codegen makes it easy to make your Java application to follow a schema-first approach whether it is a server or client application.
Following classes can be generated based on your GraphQL schema:
Interfaces for GraphQL queries, mutations and subscriptions.
Interfaces for GraphQL unions.
POJO classes for GraphQL types and inputs.
Enum classes for GraphQL enums.
Interfaces for GraphQL type fields (e.g. for parametrized fields) aka "Resolvers".
Client Request classes for GraphQL queries, mutations and subscriptions.
Features
Generate classes in Java, Kotlin or Scala.
Recursive schemas lookup by file name pattern.
Generate code based on GraphQL schema or GraphQL Query Introspection Result.
Generate POJOs with or without: Builder pattern, immutable fields, toString(), equals() and hashCode(), etc.
Flexible API interfaces naming conventions (based on schema file name, folder name, etc.)
Custom java package names for model and API classes.
Custom prefix/suffix for model, API, type resolver, request, response classes.
Custom annotations for generated classes (e.g.: validation annotations for generated model classes or specific type fields, annotations for GraphQL directives, etc.)
Relay support.
Ability to define codegen configuration via external json file.
For the full list of codegen configs please refer to: Codegen Options
请发表评论