Peticiones y respuestas
En Laravel, la gestión de peticiones (requests) y respuestas (responses) es fundamental para manejar la comunicación entre el cliente y el servidor. La información enviada por el cliente se accede a través del objeto Request y las respuestas se generan usando el objeto Response o métodos auxiliares de los controladores.
Manejo de peticiones
El objeto Request permite acceder a todos los datos de la solicitud HTTP, incluyendo parámetros, cabeceras, cuerpo de la petición y archivos:
use Illuminate\Http\Request;
Route::post('/usuarios', function (Request $request) {
$nombre = $request->input('nombre');
$email = $request->input('email');
return response()->json(['nombre' => $nombre, 'email' => $email]);
});
Algunas propiedades y métodos útiles de Request:
$request->all()→ Obtiene todos los datos enviados.$request->input('campo')→ Obtiene un campo específico.$request->query('param')→ Parámetros de consulta (?param=value).$request->route('id')→ Parámetros de la ruta.$request->header('X-Custom-Header')→ Cabeceras HTTP.$request->file('archivo')→ Archivos subidos.
Generación de respuestas
Laravel facilita enviar respuestas HTTP en distintos formatos:
// Respuesta JSON
return response()->json(['mensaje' => 'Operación exitosa'], 200);
// Respuesta con código HTTP
return response('Recurso creado', 201);
// Redirección
return redirect('/inicio');
// Vista
return view('usuarios.index', ['usuarios' => $usuarios]);
También se pueden configurar cabeceras y cookies:
return response('Contenido')
->header('X-Custom-Header', 'Valor')
->cookie('token', 'abc123', 60);
Buenas prácticas y convenciones
- Validar siempre los datos recibidos antes de procesarlos.
- Mantener las respuestas consistentes, preferiblemente en formato JSON para APIs.
- Devolver códigos HTTP adecuados según la acción realizada (200, 201, 400, 401, 404, etc.).
- Evitar lógica compleja directamente en rutas; delegar a controladores o servicios.
- Manejar errores y excepciones mediante exception handling y middleware de Laravel.