Description:
Create CRUD operations for managing ingredients. The users should be able to add, delete, and list ingredients via REST API. Implement Caching when possible
Spring Boot Concepts:
Spring MVC (Model-View-Controller): Controllers, HTTP Methods (GET, POST, PUT, DELETE)
Spring Data JPA (Java Persistence API): Repository and Entity Management
Service Layer: Separation of concerns
Caching using Redis
Guide:
Create an IngredientController class annotated with “@RestController”.
Implement CRUD endpoints using “@PostMapping”, “@GetMapping”, “@PutMapping” and “@DeleteMapping”
Create an IngredientManagementService class annotated with @Service to handle business logic.
Create an IngredientRepository class annotated with @Repository (extends JpaRepository interface) for database interactions.
Create an Ingredient model class with @Entity to indicate it is a JPA entity.
Implement Caching for redis
Write unit tests using MockMvc and Mockito.
Acceptance Criteria:
[x] API endpoints for creating, retrieving, updating and deleting ingredients.
[x] Proper HTTP status codes and responses.
[x] Relationships between recipes and ingredients are handled correctly.
IngredientManagementController class created that will handle the HTTP endpoints
Methods for Adding an ingredient (PutMapping), Retrieving all and specific ingredient by id (GetMapping), Updating a specific ingredient by id (PutMapping) and Deleting a specific ingredient by id (DeleteMapping)
Added a IngredientManagementService class to handle the different functions for the Ingredient entity
IngredientRepository was already created for handling DB interactions
Description: Create CRUD operations for managing ingredients. The users should be able to add, delete, and list ingredients via REST API. Implement Caching when possible
Spring Boot Concepts:
Guide:
Acceptance Criteria: