This repository contains the codebase that was used in the article Building Your Domain Gateway With OpenAPI in the blog yonatankarp.com.
The repository contains the following models:
- Domain Gateway - a facade for the domain that calls all the services belong to the domain.
- Hello Service - a service responsible to get a name and answer with
Hello, <NAME>!
. - Goodbye Service - a service responsible to get a name and answer with
Goodbye <NAME>!
.
The services can run using the docker compose
file supplied in the root
directory of this repository by running the command:
$ ./gradlew assemble && docker compose up --build
Once all the services are up and running you can test the integration between them by calling the services as follow:
$ curl 'localhost:8080/hello/Yonatan'
Response example:
{"value":"Hello, Yonatan!"}
For the goodbye endpoint, run the following:
$ curl 'localhost:8080/goodbye/Yonatan'
Response example:
{"value":"Goodbye Yonatan!"}
- OpenJdk 17
- Kotlin
- Kotlin Coroutine
- SpringBoot 3.x.x - The web framework used
- Gradle Kotlin DSL - Dependency Management
- Yonatan Karp-Rudin - Initial work - yonatankarp