REST Domain Gateway
Usage
Render from P6M Catalog
archetect
P6M -> Java -> Java REST Domain Gateway
Render from GitHub Repo
archetect render git@github.com:p6m-archetypes/java-spring-boot-rest-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 REST
- Integration with gRPC Service using it's Client
- Swagger UI (OpenAPI)
- SDLC GitHub Actions
- Docker image publication to artifactory
- Application configuration through property files, environment variables, and CLI arguments.
- 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}-integration-tests | Leverages the HttpClient to test the Server and it's dependencies. |
| {project-name}-server | Transport/Protocol Host. Wraps Core. |