Rutas (Routes)
Las rutas son el punto de entrada de todas las peticiones HTTP en una aplicacion Laravel. Definen que URL responde a que logica y con que metodo HTTP.
Definicion de rutas
// routes/web.php - Rutas web con sesion y CSRF
Route::get('/', function () {
return view('welcome');
});
Route::get('/posts', [PostController::class, 'index'])->name('posts.index');
Route::get('/posts/{post:slug}', [PostController::class, 'show'])->name('posts.show');
// Rutas de recurso (genera 7 rutas CRUD)
Route::resource('posts', PostController::class);
// routes/api.php - Rutas API sin estado
Route::get('/posts', [Api\PostController::class, 'index']);
Grupos y middleware
Route::prefix('admin')
->middleware(['auth', 'admin'])
->name('admin.')
->group(function () {
Route::resource('posts', Admin\PostController::class);
Route::resource('users', Admin\UserController::class);
});
Route Model Binding
Laravel puede inyectar automaticamente instancias de modelos basandose en los parametros de la URL.
// Laravel resuelve {post} automaticamente buscando por ID o campo personalizado
Route::get('/posts/{post:slug}', function (Post $post) {
return view('posts.show', compact('post'));
});
Las rutas en Laravel soportan named routes, rate limiting, subdominios, fallbacks y mucho mas. Se definen principalmente en routes/web.php y routes/api.php.