Buscar..


Sintaxis

  • mapa de funciones públicas (Router $ router) // Defina las rutas para la aplicación.
  • función protegida mapWebRoutes (Router $ router) // Defina las rutas "web" para la aplicación.

Parámetros

Parámetro Encabezamiento
Enrutador $ enrutador \ Illuminate \ Routing \ Router $ router

Observaciones

Middleware significa que cada llamada a una ruta pasará por el middleware antes de que realmente llegue a su código específico de ruta. En Laravel, el middleware web se utiliza para garantizar el manejo de la sesión o la comprobación de token csrf, por ejemplo.

Hay otros middlewares como auth o api por defecto. También puedes crear fácilmente tu propio middleware.

Agregar api-route con otro middleware y mantener el middleware web predeterminado

Desde la versión 5.2.31 de Laravel, el middleware web se aplica de forma predeterminada dentro de RouteServiceProvider ( https://github.com/laravel/laravel/commit/5c30c98db96459b4cc878d085490e4677b0b67ed)

En app / Providers / RouteServiceProvider.php encontrará las siguientes funciones que aplican el middleware en cada ruta dentro de su app / Http / route.php

public function map(Router $router)
{
    $this->mapWebRoutes($router);
}

// ...

protected function mapWebRoutes(Router $router)
{
    $router->group([
        'namespace' => $this->namespace, 'middleware' => 'web',
    ], function ($router) {
        require app_path('Http/routes.php');
    });
}

Como se puede ver se aplica la web de middleware . Podrías cambiar esto aquí. Sin embargo, también puede agregar fácilmente otra entrada para poder poner las rutas de api, por ejemplo, en otro archivo (por ejemplo, route-api.php)

public function map(Router $router)
{
    $this->mapWebRoutes($router);
    $this->mapApiRoutes($router);
}

protected function mapWebRoutes(Router $router)
{
    $router->group([
        'namespace' => $this->namespace, 'middleware' => 'web',
    ], function ($router) {
        require app_path('Http/routes.php');
    });
}

protected function mapApiRoutes(Router $router) 
{
    $router->group([
        'namespace' => $this->namespace, 'middleware' => 'api',
    ], function ($router) {
        require app_path('Http/routes-api.php');
    });
}

Con esto, puede separar fácilmente las rutas de api de las rutas de su aplicación sin el envoltorio del grupo desordenado dentro de sus rutas.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow