Laravel 11如何在路由组中同时使用prefix与Middleware
Laravel 11 中同时使用路由前缀与中间件的实现方法
在Laravel 11中,你可以通过以下几种方式同时为路由组设置前缀和中间件:
方式一:链式调用(推荐写法)
这是Laravel 8及以后版本官方推荐的写法,代码结构更清晰直观:
Route::prefix('admin') ->middleware('auth') ->group(function () { // 匹配 "/admin/users",且需通过auth中间件验证 Route::get('/users', function () { // 业务逻辑代码 }); // 绑定控制器方法的路由示例 Route::get('/posts', [PostController::class, 'index']); });
如果需要给中间件传递参数(比如指定认证守卫),直接在中间件名称后追加即可:
Route::prefix('admin') ->middleware('auth:admin') ->group(function () { // 路由定义 });
方式二:兼容旧版本的数组配置写法
Laravel 11依然支持旧版本的数组参数写法,若你习惯这种风格也可以使用:
Route::group([ 'prefix' => 'admin', 'middleware' => ['auth'] ], function () { Route::get('/users', function () { // 业务逻辑代码 }); });
内容的提问来源于stack exchange,提问作者zockchin
相关产品推荐
相关产品推荐

