Productos por Subcategoría - bootcamp-uchile-2026/grupo-2-backend GitHub Wiki
Productos por Subcategoría
Funcionalidad
La funcionalidad de Productos por subcategoría consiste en entregar los productos asociados a una subcategoría perteneciente a la categoría consultada.
Al ingresar a la página de una categoría, Frontend/Mobile muestra las subcategorías disponibles y los productos correspondientes a la subcategoría que se encuentre visualizada inicialmente. El usuario puede cambiar posteriormente de subcategoría, solicitando los productos correspondientes.
Desde la perspectiva de Backend, el servicio permite consultar los productos asociados a una subcategoría determinada.
Objetivo
Entregar a Frontend y Mobile la información de los productos asociados a una subcategoría, para que puedan mostrar los productos correspondientes en la página de la categoría.
Responsabilidad del Backend
El backend deberá:
- Recibir el identificador de la subcategoría consultada.
- Confirmar la existencia de subcategoría.
- Consultar los productos asociados a dicha subcategoría.
- Entregar la información de los productos correspondientes.
Contrato de API
Endpoint asociado:
GET/subcategorias/{subcategoriaId}/productos
DTO de salida:
La definición completa del método HTTP, query parameters y respuestas se encuentra centralizada en Endpoints.
La estructura completa de los datos devueltos se encuentra centralizada en DTOs.
Reglas de negocio
- Toda categoría debe tener al menos una subcategoría.
- Un producto debe pertenecer a una única subcategoría.
- Todo producto debe tener un precio definido y válido.
- Un producto debe estar asociado a una subcategoría existente.
- El identificador de cada producto debe ser único.
Relación con Página de SubCategorías
El usuario ingresa a Productos, selecciona una categoría y posteriormente visualiza una subcategoría, cuyos productos son obtenidos mediante este servicio.
Productos
|
v
Categoría seleccionada
|
+---- GET /categorias/{categoriaId}/subcategorias
|
v
Subcategoría inicial
|
+---- GET /subcategorias/{subcategoriaId}/productos
|
v
Productos de la subcategoría
|
+---- Cambio de subcategoría
|
+---- GET /subcategorias/{subcategoriaId}/productos