/products/:id
id
numérico.🔐 Requiere autenticación JWT previa.
GET /api/products/:id
id
numérico. Valida que el parámetro id
sea proporcionado y que tenga el formato correcto. Si el producto existe, devuelve sus detalles; si no, responde con error 404.verificarAutenticacion
Authorization: Bearer <token>
verificarAutenticacion
: Verifica el token JWT.getProductValidator
: Valida que el parámetro id
sea numérico.validateRequest
: Maneja errores de validación.Parámetro | Tipo | Requerido | Descripción |
---|---|---|---|
id | number | ✅ | ID numérico del producto a buscar. |
Ninguno.
{
"status": "success",
"code": "PRODUCT_FOUND",
"msg": "Producto encontrado.",
"data": {
"id": 1,
"product_name": "Harina",
"measure": "kg",
"price": 2.75,
"stock": 80,
"imgUrl": "https://res.cloudinary.com/..."
}
}
{
"status": "error",
"code": "INVALID_FORMAT",
"msg": "El id debe ser un número.",
"errors": [/* Detalles si aplica */]
}
{
"status": "error",
"code": "AUTH_ERROR",
"msg": "Acceso no autorizado. Se requiere token válido."
}
{
"status": "error",
"code": "NOT_FOUND",
"msg": "No se encontró producto con ID 25."
}
{
"status": "error",
"code": "SERVER_ERROR",
"msg": "Ha ocurrido un error inesperado al buscar el producto. Intente de nuevo más tarde."
// "info": { ... } // Detalles opcionales
}
curl --location -g --request GET 'https://back-prima-s-a.onrender.com/api/products/{{product_id}}' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3NjI0ZjkwNzY2OWM5MDZjYTM0YThkZSIsInJvbCI6ImFkbWluIiwiaWF0IjoxNzM4NjI4MjgxLCJleHAiOjE3Mzg2NTcwODF9.0or08xMGWjpppL1Lm2dGM6yX-5Y6ozETnKFwpXPgxxE'
{}