This is a simple Java-based microservice using Spring Boot and Eureka for service discovery.
- REST API for basic calculation (
/calculate) /infoendpoint for metadata- Registered as a Eureka client
- Spring Boot Actuator for monitoring
- Swagger/OpenAPI UI for API docs at
/swagger-ui.html - Dockerized for deployment
- Java 22
- Maven
- Docker (for containerized usage)
- Eureka Server (running on
http://eureka-server:8761/eureka/)
./mvnw spring-boot:runThen, you can test the service using:
curl -X POST http://localhost:8080/calculate \
-H "Content-Type: application/json" \
-d '{"value": 10}'Access API docs:
http://localhost:8080/swagger-ui.htmlBuild the Docker image:
docker build -t java-service .Run the container (assumes Eureka is running and accessible):
docker run -p 8080:8080 --network your-docker-network-name java-serviceserver:
port: 8080
eureka:
client:
service-url:
defaultZone: http://eureka-server:8761/eureka/
management:
endpoints:
web:
exposure:
include: "*"Request:
{
"value": 10
}Response:
{
"result": 20
}Response:
{
"app": "java-service",
"status": "running"
}This project uses springdoc-openapi for Swagger support.
Swagger UI: http://localhost:8080/swagger-ui.html
OpenAPI Spec: http://localhost:8080/v3/api-docs
You can use Spring DevTools for hot reload. Eureka will auto-register this service on startup if configured properly.
This project is for demonstration and educational purposes.