💬 Respuestas JSON y controladores API
Cómo responder correctamente en tus APIs Laravel
En una API REST, las respuestas deben estar siempre en formato JSON y acompañadas de un
código de estado HTTP adecuado. Laravel facilita esta tarea mediante el método
response()->json() y estructuras personalizadas.
📘 ¿Qué es una respuesta JSON?
JSON (JavaScript Object Notation) es un formato ligero para intercambiar datos entre cliente y servidor.
Laravel puede convertir automáticamente modelos, colecciones y arrays a JSON con el método
response()->json() o devolviendo directamente arrays en tus controladores API.
⚙️ Ejemplo básico de respuesta JSON
Imaginemos un controlador que devuelve una lista de productos:
app/Http/Controllers/Api/ProductController.php
json([
'success' => true,
'message' => 'Lista de productos obtenida correctamente',
'data' => $products
], 200);
}
}
?>
🧩 Ejemplo visual: simulador de respuesta JSON
Selecciona un tipo de respuesta para ver cómo Laravel devolvería los datos:
🧠 Devolver arrays directamente
Laravel convierte automáticamente los arrays o colecciones en JSON. Así puedes simplificar tus respuestas:
Controlador simplificado
public function show($id)
{
$product = Product::find($id);
if (!$product) {
return ['success' => false, 'message' => 'Producto no encontrado'];
}
return ['success' => true, 'data' => $product];
}
✅ Buenas prácticas
- Usa
response()->json()para mayor control sobre los códigos HTTP. - Incluye siempre campos success y message en tus respuestas.
- Devuelve 422 en validaciones y 404 si no se encuentra un recurso.
- Evita retornar HTML desde tus controladores API.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias