馃О Validaci贸n y seguridad en APIs
Proteger tus endpoints y validar los datos de entrada
La validaci贸n de datos y la seguridad son esenciales al desarrollar una API. Laravel ofrece herramientas poderosas como Form Request Validation, middleware y tokens para proteger tus endpoints contra entradas no v谩lidas o accesos no autorizados.
馃搵 Validaci贸n b谩sica en controladores API
Puedes validar los datos directamente en el m茅todo del controlador usando $request->validate().
app/Http/Controllers/Api/ProductController.php
public function store(Request $request) {
$validated = $request->validate([
'name' => 'required|string|max:100',
'price' => 'required|numeric|min:0',
'description' => 'nullable|string',
]);
$product = Product::create($validated);
return response()->json($product, 201);
}
Si los datos no son v谩lidos, Laravel devolver谩 autom谩ticamente una respuesta JSON con los errores y c贸digo 422.
馃И Simulador de validaci贸n
Introduce un producto y observa si la API lo acepta o rechaza:
馃攼 Seguridad: Autenticaci贸n con Tokens
Laravel ofrece varias formas de proteger tus APIs:
- Sanctum: ideal para APIs personales o SPAs (Single Page Applications).
- Passport: soluci贸n completa basada en OAuth2 para autenticaci贸n robusta.
Con Laravel Sanctum puedes proteger tus rutas f谩cilmente:
routes/api.php
use Illuminate\Support\Facades\Route;
Route::middleware('auth:sanctum')->group(function () {
Route::get('/user', function (Request $request) {
return $request->user();
});
Route::get('/products', [ProductController::class, 'index']);
});
Para acceder a estas rutas, el cliente debe enviar un token v谩lido en la cabecera HTTP:
Authorization: Bearer TU_TOKEN_AQUI
✅ Buenas pr谩cticas
- Valida **todos** los datos que ingresen a la API.
- Usa
Form Requestspara mantener la l贸gica de validaci贸n separada del controlador. - Protege tus rutas sensibles con middleware como
auth:sanctum. - Evita exponer datos sensibles en respuestas JSON.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias