我有兩種型別的路線。
- 對于來賓和經過身份驗證的用戶
- 僅適用于經過身份驗證的用戶
僅對于經過身份驗證的用戶,我使用的是中間件,我需要有一個路由前綴。我的代碼看起來像這樣
Route::prefix('guests')->group(function () {
Route::get('/user_landing', [EngineController::class, 'user_landing'])->name('user_landing');
});
Route::middleware(['auth', 'role:user,admin'])->group(function () {
Route::get('/user_landing', [EngineController::class, 'user_landing'])->name('user_landing');
});
如果我已經有一個中間件,我怎么能有一個路由前綴
Route::middleware(['auth', 'role:user,admin'])->group(function () {
Route::get('/user_landing', [EngineController::class, 'user_landing'])->name('user_landing');
});
uj5u.com熱心網友回復:
您可以隨意使用這些Route方法并根據需要組織它們,因為它們通常會自行回傳。
在這種情況下,正如@Gert B.評論的那樣,您可以這樣做:
Route::prefix('guests')->get('/user_landing', [EngineController::class, 'user_landing'])->name('user_landing');
Route::prefix('admin')->middleware(['auth', 'role:user,admin'])->group(function () {
Route::get('/user_landing', [EngineController::class, 'user_landing'])->name('user_landing');
});
但你也可以這樣做:
Route::prefix('guests')->group(function () {
Route::get('/user_landing', [EngineController::class, 'user_landing'])->name('user_landing');
// more guest routes here
});
Route::prefix('admin')->middleware(['auth', 'role:user,admin'])->group(function () {
Route::get('/user_landing', [EngineController::class, 'user_landing'])->name('user_landing');
// more admin routes here
});
這將允許添加更多路線。
但是,是的,有更多方法可以實作同樣的目標。盡量使用更清晰的,這樣你和其他人就能更好地理解它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/534842.html
