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.