|
12 | 12 |
|
13 | 13 | 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.
|
14 | 14 |
|
15 |
| - |
16 | 15 | Following classes can be generated based on your GraphQL schema:
|
17 | 16 | * Interfaces for GraphQL queries, mutations and subscriptions.
|
18 | 17 | * Interfaces for GraphQL unions.
|
19 | 18 | * POJO classes for GraphQL types and inputs.
|
20 | 19 | * Enum classes for GraphQL enums.
|
21 |
| -* Interface Resolvers for GraphQL type fields (e.g. for parametrized fields). |
| 20 | +* Interfaces for GraphQL type fields (e.g. for parametrized fields) aka "Resolvers". |
22 | 21 | * Client Request classes for GraphQL queries, mutations and subscriptions.
|
23 | 22 |
|
24 | 23 |
|
| 24 | +## Features |
| 25 | +* Generate classes in Java, Kotlin or Scala. |
| 26 | +* Recursive schemas lookup by file name pattern. |
| 27 | +* Generate code based on GraphQL schema or GraphQL Query Introspection Result. |
| 28 | +* Generate POJOs with: Builder pattern, immutable fields, `toString()`, `equals()` and `hashCode()`, etc. |
| 29 | +* Flexible API interfaces naming conventions (based on schema file name, folder name, etc) |
| 30 | +* Ability to define custom java package names for model and API classes. |
| 31 | +* Ability to define custom prefix/suffix for model, API, type resolver, request, response classes. |
| 32 | +* Ability to define custom annotations (e.g.: validation annotations for your model classes or based on GraphQL directives) |
| 33 | +* Ability to define custom configuration for Relay support. |
| 34 | + |
| 35 | + |
| 36 | +**For the full list of codegen configs please refer to: [Codegen Options](docs/codegen-options.md)** |
| 37 | + |
| 38 | + |
25 | 39 | ## Supported plugins
|
26 | 40 |
|
27 | 41 | * Gradle plugin: [graphql-java-codegen-gradle-plugin](plugins/gradle)
|
|
0 commit comments