Esta es una API RESTful para la gestión de productos, que permite realizar operaciones básicas como crear, leer, actualizar y eliminar productos. La API utiliza el patrón de mediación mediante MediatR para mantener el código limpio y desacoplado.
-
URL:
/products/{id}
-
Método:
GET
-
Descripción: Recupera los detalles de un producto específico utilizando su ID.
-
Parámetros:
id
(GUID): El identificador único del producto.
-
Respuesta Exitosa:
- Código:
200 OK
- Cuerpo: Detalles del producto en formato JSON.
- Código:
-
Respuesta no encontrada:
- Código:
404 Not Found
- Código:
Ejemplo de Solicitud:
GET /products/123e4567-e89b-12d3-a456-426614174000
- URL:
/products
- Método:
GET
- Descripción: Devuelve una lista de todos los productos disponibles en el sistema.
- Respuesta Exitosa:
- Código:
200 OK
- Cuerpo: Lista de productos en formato JSON.
- Código:
Ejemplo de Solicitud:
GET /products
-
URL:
/products
-
Método:
POST
-
Descripción: Agrega un nuevo producto al sistema.
-
Cuerpo de la Solicitud: Detalles del producto en formato JSON.
-
Respuesta Exitosa:
- Código:
201 Created
- Cuerpo:
{ "id": "nuevo-id" }
- Código:
-
Respuesta de Error:
- Código:
400 Bad Request
- Código:
Ejemplo de Solicitud:
POST /products
Content-Type: application/json
{
"name": "Nuevo Producto",
"description": "Descripción del producto",
"price": 19.99
}
-
URL:
/products
-
Método:
PUT
-
Descripción: Actualiza los detalles de un producto existente.
-
Cuerpo de la Solicitud: Detalles del producto en formato JSON.
-
Respuesta Exitosa:
- Código:
200 OK
- Cuerpo:
{ "id": "id-del-producto-actualizado" }
- Código:
-
Respuesta no encontrada:
- Código:
404 Not Found
- Código:
Ejemplo de Solicitud:
PUT /products
Content-Type: application/json
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Producto Actualizado",
"description": "Nueva descripción",
"price": 29.99
}
- URL:
/products/{id}
- Método:
DELETE
- Descripción: Elimina un producto existente utilizando su ID.
- Respuesta Exitosa:
- Código:
204 No Content
- Código:
Ejemplo de Solicitud:
DELETE /products/123e4567-e89b-12d3-a456-426614174000
Las contribuciones son bienvenidas. Si deseas contribuir, por favor abre un issue o envía un pull request.
Este proyecto está bajo la Licencia MIT. Para más detalles, consulta el archivo LICENSE.