Rutas de API y controladores de recursos
Registre rutas RESTful y genere controladores de recursos con Artisan.
Rutas de API y controladores de recursos es una lección gratuita de PHP Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de PHP Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de PHP Academy incluye 4 lecciones en total.
Rutas de API en Laravel
Defina las rutas de API en routes/api.php. Estas rutas reciben automáticamente el prefijo /api y utilizan el grupo de middleware api (sin estado; no hay sesión ni cookies).
Ruta de API básica
Devuelva JSON desde un cierre.
<?php
Route::get("/users/{id}", function (int $id) {
$user = User::findOrFail($id);
return response()->json($user);
});Rutas de recursos de API
Route::apiResource() registra 5 rutas RESTful (omite create y edit, que muestran formularios).
<?php
// routes/api.php
use App\Http\Controllers\Api\UserController;
Route::apiResource("users", UserController::class);
// GET /api/users → index
// POST /api/users → store
// GET /api/users/{user} → show
// PUT /api/users/{user} → update
// DELETE /api/users/{user} → destroyGenerar un controlador de API
Utilice el indicador --api para generar un controlador sin los métodos create y edit.
$ php artisan make:controller Api/UserController --api --model=UserEjemplo de controlador de API
Un controlador de API devuelve respuestas JSON.
<?php
namespace App\Http\Controllers\Api;
class UserController extends Controller
{
public function index(): JsonResponse
{
return response()->json(User::paginate(15));
}
public function show(User $user): JsonResponse
{
return response()->json($user);
}
public function store(StoreUserRequest $request): JsonResponse
{
$user = User::create($request->validated());
return response()->json($user, 201);
}
public function destroy(User $user): JsonResponse
{
$user->delete();
return response()->json(null, 204);
}
}Códigos de estado HTTP
Devuelva códigos de estado apropiados: 200 (Correcto), 201 (Creado), 204 (Sin contenido), 400 (Solicitud incorrecta), 401 (No autorizado), 403 (Prohibido), 404 (No encontrado), 422 (Entidad no procesable).
Validación con Form Request
Utilice Form Requests para crear reglas de validación claras y reutilizables.
$ php artisan make:request StoreUserRequestEjemplo de StoreUserRequest
Defina las reglas y la autorización en la clase de la solicitud.
<?php
class StoreUserRequest extends FormRequest
{
public function authorize(): bool { return true; }
public function rules(): array {
return [
"name" => "required|string|max:255",
"email" => "required|email|unique:users",
];
}
}Agrupar rutas de API
Agrupe las rutas de API con un prefijo y un espacio de nombres.
<?php
Route::prefix("v1")->middleware("auth:sanctum")->group(function () {
Route::apiResource("posts", PostController::class);
Route::apiResource("users", UserController::class);
});except() y only()
Excluya o restrinja rutas específicas de un registro de recursos.
<?php
Route::apiResource("users", UserController::class)->only(["index", "show"]);
Route::apiResource("posts", PostController::class)->except(["destroy"]);Recursos anidados
Registre rutas de recursos anidados para modelos relacionados.
<?php
Route::apiResource("users.posts", UserPostController::class);
// GET /api/users/{user}/posts/{post}Resumen
Utilice Route::apiResource() para las rutas de API RESTful en routes/api.php. Genere controladores con --api. Devuelva JSON con códigos de estado HTTP adecuados. Valide mediante Form Requests.
Comprobación rápida
¿Cuántas rutas registra apiResource()?
Preguntas frecuentes
¿La lección «Rutas de API y controladores de recursos» es gratis?
Sí — el texto completo de «Rutas de API y controladores de recursos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de PHP Academy, actualiza a CoddyKit PRO. El curso de PHP Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Rutas de API y controladores de recursos»?
Registre rutas RESTful y genere controladores de recursos con Artisan. Practicas PHP Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar PHP Academy?
No se requiere experiencia previa. PHP Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Rutas de API y controladores de recursos»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de PHP Academy?
Sí. Cada lección de PHP Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Rutas de API y controladores de recursos
- Recursos de API y respuestas JSON
- Autenticación con Laravel Sanctum
- Limitación de solicitudes y versionado de API