Dependencies used are as follows:
3 layer Architecture : Client <--> Controller <--> Service <--> DAO <--> DB - Controller - Keeps all spring REST controllers - Define end points - Service - all service classes that hold business logic - DAO - Repository layer - keep all spring JPA data repository - Communicates with database
- controller - Contains all Spring MVC controllers - entity - Contains all JPA entities - service - Contains service interfaces - service.impl - Contains servie classes - utils - Contains utilities and classes - repository - Contains Spring Data JPA repositories. (JPA repositories are by default Transactional. Default implementation class of the JpaRepository interface is SimpleJpaRepository class) - exception - Contains all custom exceptions - payload - Contains DTOs (Data Transfer Objects) that act as a payload between client and server
OpenAPI 3 specification document for API is auto generated using springdoc-openapi-ui
As per custom path provided in application.properties, auto generated API doc is generated at custom path:
http://localhost:<port>/api-docs/
Doc can also be accessed in the Swagger UI at path:
http://localhost:<port>/swagger-ui.html