GlosarioRouting

¿Qué es Route?

Las Routes en Laravel definen las URLs de la aplicacion y las asocian con controladores o closures que manejan las peticiones HTTP, soportando metodos GET, POST, PUT, PATCH y DELETE.

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.