馃挰 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