💬 Respuestas JSON y controladores API

💬 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.

Publicar un comentario

0 Comentarios