GraphQL Domain Gateway
Usage
Render from P6M Catalog
archetect
P6M -> Java -> Java GraphQL Domain Gateway
Render from GitHub Repo
archetect render git@github.com:p6m-archetypes/java-spring-boot-graphql-domain-gateway.archetype.git
For information about interacting with the service, refer to the README at the generated project's root.
Prompts
When rendering the archetype, you'll be prompted for the following values:
| Property | Description | Example |
|---|---|---|
org-name | Organization Name | afi, cpd, a1p |
solution-name | Solution Name | apps, xyz |
prefix | General name that represents the service domain that is used to set the entity, service, and RPC stub names | invoice, order, booking |
What's Inside
This archetype is based on the SpringBoot framework and uses Maven as its build system.
Features include:
- Out-of-the box endpoints, including
/health,/info,/metrics,/envand/threaddump. - Simple CRUD over GraphQL
- Integration with gRPC Service using it's Client
- SDLC GitHub Actions
- Subgraph publication
- Docker image publication to artifactory
- Application configuration through property files, environment variables, and CLI arguments.
- Netflix DSG Framework
- Integration tests with gRPC Mock
Modules
| Directory | Description |
|---|---|
| {project-name}-bom | Bill of Materials. |
| {project-name}-core | Business Logic. Integration with gRPC Service. |
| {project-name}-graphql | GraphQL spec. |
| {project-name}-integration-tests | Leverages the Client to test the Server and it's dependencies. |
| {project-name}-server | Transport/Protocol Host. Wraps Core. |