Skip to main content

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:

PropertyDescriptionExample
org-nameOrganization Nameafi, cpd, a1p
solution-nameSolution Nameapps, xyz
prefixGeneral name that represents the service domain that is used to set the entity, service, and RPC stub namesinvoice, 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, /env and/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

DirectoryDescription
{project-name}-bomBill of Materials.
{project-name}-coreBusiness Logic. Integration with gRPC Service.
{project-name}-integration-testsLeverages the HttpClient to test the Server and it's dependencies.
{project-name}-serverTransport/Protocol Host. Wraps Core.