Response
Laravel proporciona multiples formas de construir respuestas HTTP para enviar al cliente. Desde vistas HTML hasta respuestas JSON para APIs.
Tipos de respuestas
// Vista HTML
return view('posts.index', ['posts' => $posts]);
// Respuesta JSON
return response()->json([
'message' => 'Post creado correctamente',
'post' => $post,
], 201);
// Redireccion
return redirect()->route('posts.index')->with('success', 'Guardado');
return back()->withErrors(['email' => 'Email no valido']);
// Descarga de archivo
return response()->download($pathToFile, 'nombre.pdf');
// Sin contenido
return response()->noContent(); // 204
API Resources
Para APIs, Laravel ofrece API Resources que transforman modelos Eloquent en respuestas JSON estructuradas.
return new PostResource($post); // Un recurso
return PostResource::collection($posts); // Coleccion
Respuesta personalizada
return response('Contenido', 200)
->header('Content-Type', 'text/plain')
->cookie('nombre', 'valor', 60);
Laravel tambien soporta respuestas de streaming, Server-Sent Events y respuestas de tipo streamed download para archivos generados dinamicamente.