馃幀 Configurar una API de Laravel 12 desde Cero
Configurar una API RESTful en Laravel 12 desde cero con este tutorial paso a paso para principiantes. Instala, configura base de datos, rutas, CRUD y autenticaci贸n
INDICE
- 1. Requisitos Previos para Configurar tu API Laravel
- 2. Paso 1: Instalar y Configurar un Proyecto Laravel Nuevo
- 3. Paso 2: Configurar la Base de Datos en Laravel
- 4. Paso 3: Configurar Rutas API B谩sicas en Laravel
- 5. Paso 4: Configurar un Modelo y Controlador para tu API
- 6. Paso 5: Configurar Autenticaci贸n API con Laravel Sanctum
- 7. Paso 6: Probar y Depurar tu API Laravel
¿Listo para explorar el desarrollo backend con Laravel? Si eres principiante y buscas configurar una API RESTful en Laravel desde cero, este tutorial actualizado te lleva de la mano. Basado en la documentación oficial de Laravel 12.x (actualizada a noviembre 2025), corregimos detalles clave como la instalación vía Laravel Installer, PHP 8.4 y el comando install:api para Sanctum. Nada de teoría pesada: comandos listos para copiar, enfocados en la práctica.
Laravel 12.x, estable desde marzo 2025, optimiza el rendimiento con soporte nativo para PHP 8.4, starter kits mejorados y configuración simplificada para APIs. Ideal para apps móviles o frontends como React/Vue. Al final, tendrás una API con CRUD, autenticación y base de datos. ¡Adelante!
¿Por Qué Configurar una API en Laravel?
Laravel destaca para APIs por:
- Estructura intuitiva: Rutas, controladores y Eloquent listos.
- Seguridad fácil: Sanctum integrado vía install:api.
- Escalabilidad: Queues, notificaciones y caching optimizados.
- Comunidad activa: Docs claras en laravel.com.
Este guía para principiantes en Laravel evita errores comunes, configurando solo lo esencial.
Requisitos Previos para Configurar tu API Laravel
Requisitos Previos para Configurar tu API Laravel
Instala:
- PHP 8.4 o superior (verifica: php -v).
- Composer.
- Laravel Installer: composer global require laravel/installer.
- SQLite (para BD simple; sin servidor extra).
- Editor como VS Code y terminal.
Tarda 10-15 min. ¿Ok? Paso 1.
Paso 1: Instalar y Configurar un Proyecto Laravel Nuevo
Paso 1: Instalar y Configurar un Proyecto Laravel Nuevo
Usa el Laravel Installer para una setup moderna.
- En terminal:
text
Selecciona: Testing framework (Pest), Database (SQLite), Starter kit (Ninguno para API pura).laravel new mi-api-laravel-12 - Entra al proyecto:
text
cd mi-api-laravel-12 - Instala dependencias frontend (opcional para API):
text
npm install && npm run build - Inicia el servidor dev completo (servidor + queue + Vite):
text
Accede a http://localhost:8000. ¿Bienvenida de Laravel? ¡Configurado! (Alternativa: php artisan serve para solo servidor).composer run dev
Paso 2: Configurar la Base de Datos en Laravel
SQLite por simplicidad en principiantes.
- Crea el archivo BD (automático si elegiste SQLite en install):
text
touch database/database.sqlite - Edita .env:
text
(Ej: /Users/tuusuario/mi-api-laravel-12/database/database.sqlite). Opcional: DB_FOREIGN_KEYS=false para deshabilitar constraints.DB_CONNECTION=sqlite DB_DATABASE=/ruta/absoluta/a/tu/proyecto/database/database.sqlite - Verifica y migra:
text
¡BD lista! Para prod, cambia a MySQL en .env.php artisan migrate:status php artisan migrate
Paso 3: Configurar Rutas API B谩sicas en Laravel
Paso 3: Configurar Rutas API B谩sicas en Laravel
Rutas API en routes/api.php, prefijadas con /api automáticamente.
- Instala setup API (crea api.php y Sanctum):
text
php artisan install:api - Abre routes/api.php y agrega ruta de prueba:
php
<?php use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; Route::get('/hello', function (Request $request) { return response()->json(['mensaje' => '¡Hola desde tu API Laravel 12!']); }); - Prueba: http://localhost:8000/api/hello. ¿JSON? ¡Rutas configuradas!
Personaliza prefijo en bootstrap/app.php si necesitas (ej: apiPrefix: 'api/v1').
Keywords: rutas API Laravel 12, endpoints RESTful principiantes.
Paso 4: Configurar un Modelo y Controlador para tu API
Ejemplo: API de "Posts" con CRUD.
- Genera:
text
Crea: Modelo Post, migración, controlador resource PostController, requests para validación.php artisan make:model Post -mcr - Edita migración database/migrations/xxxx_create_posts_table.php:
php
public function up() { Schema::create('posts', function (Blueprint $table) { $table->id(); $table->string('titulo'); $table->text('contenido'); $table->timestamps(); }); } - Migra:
text
php artisan migrate - En app/Models/Post.php, fillable:
php
protected $fillable = ['titulo', 'contenido']; - En routes/api.php, ruta resource:
php
Configura GET/POST/PUT/DELETE en /api/posts.use App\Http\Controllers\PostController; Route::apiResource('posts', PostController::class); - En app/Http/Controllers/PostController.php, métodos básicos:
php
(Similar para show/update/destroy).public function index() { return Post::all(); } public function store(Request $request) { $request->validate(['titulo' => 'required', 'contenido' => 'required']); return Post::create($request->all()); }
¡CRUD listo! Prueba con Postman: POST /api/posts con {"titulo": "Mi Post", "contenido": "Aquí contenido"}.
Paso 5: Configurar Autenticaci贸n API con Laravel Sanctum
Paso 5: Configurar Autenticaci贸n API con Laravel Sanctum
install:api ya instaló Sanctum. Protege rutas.
- En app/Models/User.php, trait (si no está):
php
use Laravel\Sanctum\HasApiTokens; class User extends Authenticatable { use HasApiTokens, HasFactory, Notifiable; // ... } - Publica config (opcional):
text
php artisan config:publish sanctum - En routes/api.php, protege:
php
Route::middleware('auth:sanctum')->apiResource('posts', PostController::class); - Ruta login (agrega antes de middleware):
php
use Illuminate\Support\Facades\Auth; Route::post('/login', function (Request $request) { $credentials = $request->validate([ 'email' => 'required|email', 'password' => 'required', ]); if (Auth::attempt($credentials)) { $user = Auth::user(); $token = $user->createToken('api-token')->plainTextToken; return response()->json(['token' => $token]); } return response()->json(['error' => 'Credenciales inválidas'], 401); });
Usa Authorization: Bearer tu-token en Postman. Para expiración, edita config/sanctum.php: 'expiration' => 525600, (1 año).
Tip principiantes: Sanctum para tokens API; docs: laravel.com/docs/12.x/sanctum.
Paso 6: Probar y Depurar tu API Laravel
- Postman/Insomnia para endpoints.
- Logs: storage/logs/laravel.log.
- Rutas: php artisan route:list.
Errores comunes: Verifica .env, permisos (chmod 755 storage/). Usa composer run dev para entorno full.
Conclusión: Tu API Laravel Configurada y Segura 馃殌
¡Genial! Has configurado una API completa en Laravel desde cero, alineado con docs actualizadas. Expándela con paginación o integra frontend. La práctica es clave.
¿Preguntas? Comenta abajo. Comparte si ayudó y suscríbete para más guías Laravel 12 principiantes.
Recursos:
Última actualización: 16 Noviembre 2025. Corregido con cambios en install:api y PHP 8.4.
¡Configura y despliega! 馃挭
Leido 125 veces | 0 usuarios
C贸digo fuente no disponible.
