A sample code base which touches key features of each technology. The sample is based on a simple API written for a social-media site which has users and associated posts. Following is the high level component diagram.
Following are the features used for the implementation
- Configuring verbs and URLs
- Error handlers for sending customized error messages
- Adding constraints/validations
- OpenAPI specification for Generating API docs
- Accessing database
- Configurability
- HTTP client
- Resiliency - Retry
- Docker image generation
- Tracing (Couldn’t get it to work with Spring boot Feign client)
You can use the below docker compose commands.
- docker compose -f springboot-docker-compose-db.yml up
- docker compose -f springboot-docker-compose.yml up
You can use the below docker compose commands.
- docker compose -f springboot-reactive-docker-compose.yml up
You can use the below docker compose commands.
- docker compose -f ballerina-docker-compose-db.yml up
- docker compose -f ballerina-docker-compose.yml up
- To send request open
springboot-social-media.http
file using VS Code withREST Client
extension - Zipkin URL - http://localhost:9411/zipkin/
- To send request open
ballerina-social-media.http
file using VS Code withREST Client
extension - Jaeger URL - http://localhost:16686/search