Package com.proyecto.jpa.controller
Class CategoryController
java.lang.Object
com.proyecto.jpa.controller.CategoryController
Controlador REST para la gestión de categorías (Capa de Presentación).
Expone endpoints HTTP para realizar operaciones CRUD sobre categorías. Todos los endpoints retornan respuestas en formato JSON.
Arquitectura de 3 Capas
CategoryController (Capa de Presentación) ← Esta clase
↓
CategoryService (Capa de Negocio)
↓
CategoryRepository (Capa de Datos)
Endpoints Disponibles
- GET /api/categories - Obtener todas las categorías
- GET /api/categories/{id} - Obtener una categoría por ID
- POST /api/categories - Crear una nueva categoría
- PUT /api/categories/{id} - Actualizar una categoría
- DELETE /api/categories/{id} - Eliminar una categoría (en cascada)
- Since:
- 1.0.0
- Version:
- 1.0.0
- Author:
- Proyecto JPA
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionCategoryController(CategoryService categoryService) Constructor con inyección de dependencias. -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.http.ResponseEntity<Long>Cuenta el número total de categorías.org.springframework.http.ResponseEntity<Category>createCategory(@Valid Category category) Crea una nueva categoría.org.springframework.http.ResponseEntity<Void>deleteCategory(Long id) Elimina una categoría por su ID.Obtiene todas las categorías.org.springframework.http.ResponseEntity<Category>getCategoryById(Long id) Obtiene una categoría por su ID.org.springframework.http.ResponseEntity<Category>updateCategory(Long id, @Valid Category category) Actualiza una categoría existente.
-
Constructor Details
-
CategoryController
Constructor con inyección de dependencias.- Parameters:
categoryService- servicio de categorías
-
-
Method Details
-
getAllCategories
Obtiene todas las categorías.- Returns:
- lista de categorías con código 200 OK
-
getCategoryById
@GetMapping("/{id}") public org.springframework.http.ResponseEntity<Category> getCategoryById(@PathVariable Long id) Obtiene una categoría por su ID.- Parameters:
id- el ID de la categoría- Returns:
- la categoría con código 200 OK, o 404 Not Found si no existe
-
createCategory
@PostMapping public org.springframework.http.ResponseEntity<Category> createCategory(@Valid @RequestBody @Valid Category category) Crea una nueva categoría.- Parameters:
category- la categoría a crear- Returns:
- la categoría creada con código 201 Created
-
updateCategory
@PutMapping("/{id}") public org.springframework.http.ResponseEntity<Category> updateCategory(@PathVariable Long id, @Valid @RequestBody @Valid Category category) Actualiza una categoría existente.- Parameters:
id- el ID de la categoría a actualizarcategory- los nuevos datos de la categoría- Returns:
- la categoría actualizada con código 200 OK, o 404 Not Found si no existe
-
deleteCategory
@DeleteMapping("/{id}") public org.springframework.http.ResponseEntity<Void> deleteCategory(@PathVariable Long id) Elimina una categoría por su ID.Operación en Cascada: Al eliminar la categoría, todos los productos asociados se eliminarán automáticamente.
- Parameters:
id- el ID de la categoría a eliminar- Returns:
- código 204 No Content si se eliminó, o 404 Not Found si no existe
-
countCategories
Cuenta el número total de categorías.- Returns:
- el número de categorías con código 200 OK
-