API REST ligera con Laravel 12 paso a paso
Crear una API REST ligera es una de las tareas más comunes en el desarrollo backend moderno. En 2026, Laravel 12 sigue siendo una excelente opción para construir APIs rápidas, seguras y fáciles de mantener, siempre que se use de forma correcta.
En esta guía aprenderás cómo crear una API REST ligera con Laravel 12 paso a paso, enfocándonos en rendimiento, simplicidad y buenas prácticas.
Paso 1: Requisitos del entorno
Antes de empezar, asegúrese de contar con:
- PHP 8.3 o superior
- Composer actualizado
- Base de datos MySQL o PostgreSQL
- Servidor local (Laravel Herd, Valet o Docker)
Un entorno actualizado es clave para obtener el mejor rendimiento.
Paso 2: Crear el proyecto Laravel 12
Crea el proyecto base:
composer create-project laravel/laravel api-restRecomendaciones iniciales:
- No instales Breeze ni Jetstream
- No uses vistas Blade
- El proyecto será solo API
Esto reduce peso desde el inicio.
Paso 3: Configurar la base de datos
Edita el archivo .env:
DB_DATABASE=api_db
DB_USERNAME=root
DB_PASSWORD=Luego ejecuta las migraciones:
php artisan migrateLaravel ya incluye migraciones básicas para usuarios.
Paso 4: Definir las rutas de la API
Todas las rutas de una API deben ir en:
routes/api.phpEjemplo inicial:
Route::get('/status', function () {
return response()->json([
'status' => 'ok'
]);
});Estas rutas:
- No usan sesiones
- Son stateless
- Devuelven JSON
Paso 5: Crear un controlador para la API
Crea un controlador específico para API:
php artisan make:controller Api/ProductControllerEjemplo de endpoint:
class ProductController extends Controller
{
public function index()
{
return Product::select('id', 'name', 'price')->get();
}
}Conecta la ruta:
Route::get('/products', [ProductController::class, 'index']);Paso 6: Crear el modelo y migración
Genera el modelo y la migración:
php artisan make:model Product -mDefine los campos:
Schema::create('products', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->decimal('price', 10, 2);
$table->boolean('active')->default(true);
$table->timestamps();
});Ejecuta la migración:
php artisan migratePaso 7: Acceso eficiente a datos
Para mantener la API ligera:
- Devuelve solo los campos necesarios
- Evita cargar relaciones innecesarias
Ejemplo optimizado:
Product::where('active', 1)
->select('id', 'name', 'price')
->get();Esto reduce el tamaño de la respuesta y mejora el rendimiento.
Paso 8: Autenticación ligera con Laravel Sanctum
Instala Sanctum:
composer require laravel/sanctumProtege rutas sensibles:
Route::middleware('auth:sanctum')->get('/me', function () {
return auth()->user();
});Sanctum es ideal para:
- APIs REST
- Apps móviles
- SPAs
Paso 9: Validaciones simples
Valida datos directamente en el controlador:
$request->validate([
'name' => 'required|string',
'price' => 'required|numeric'
]);Esto evita archivos innecesarios y mantiene el código claro.
Paso 10: Respuestas JSON consistentes
Define un formato estándar:
return response()->json([
'success' => true,
'data' => $product
], 201);Una estructura consistente facilita el consumo de la API.
Buenas prácticas para una API REST ligera
- Usa paginación
- Cachea respuestas frecuentes
- Limita campos y relaciones
- Evita paquetes innecesarios
- No uses sesiones
- No mezcles frontend con backend
Conclusión
Crear una API REST ligera con Laravel 12 paso a paso es totalmente viable y recomendable si se mantiene una arquitectura simple y enfocada.Laravel 12 ofrece las herramientas necesarias para construir APIs rápidas sin sacrificar seguridad ni mantenibilidad.
La clave está en usar solo lo necesario.