This is a basic CRUD REST API being made with Java 17, Spring Boot and in-memory database H2 for learning purposes. The front-end is a basic vanilla JavaScript page, made with the help of ChatGPT.
-
[GET] Get a list of entities: http://localhost:8080/api/v1/things
-
[GET] Get the entity with ID: http://localhost:8080/api/v1/things/findById/{id}
-
[GET] Get a list of entities that contains the passed description (it is case sensitive): http://localhost:8080/api/v1/things/findAllWithDescription/{description}
-
[POST] Save an entity (JSON format with 'description' and 'imageUrl' fields): http://localhost:8080/api/v1/things/save
-
[POST] Save entities stored in an Excel sheet (must inform a parameter 'file'): http://localhost:8080/api/v1/things/saveFromExcel
-
[PUT] Update an entity passing the ID as a parameter (JSON format with 'description' and 'imageUrl' fields): http://localhost:8080/api/v1/things/update/{id}
-
[DELETE] Delete an entity by its ID (type: UUID): http://localhost:8080/api/v1/things/delete/{id}
-
Send email on transactional actions (save, update, delete)
- Configure the email in application.properties and set the EMAIL_TO and EMAIL_FROM variables in EmailService
- Store the imageUrl in Amazon S3
