您需要单独定义每个路由。
Route::resource('/path', Controller::class);
类似于:
Route::get('/path', [Controller::class, 'index'])->name('path.index');
Route::get('/path/create', [Controller::class, 'create'])->name('path.create');
Route::post('/path', [Controller::class, 'store'])->name('path.store');
Route::get('/path/{path}', [Controller::class, 'show'])->name('path.show');
Route::get('/path/{path}/edit', [Controller::class, 'edit'])->name('path.edit');
Route::put('/path/{path}', [Controller::class, 'update'])->name('path.update');
Route::delete('/path/{path}', [Controller::class, 'destroy'])->name('path.destroy');
使用第二个路由定义,您可以添加中间件。
所以:
Route::middleware('guest')->group(function () {
Route::get('/path', [Controller::class, 'index'])->name('path.index');
Route::get('/path/{path}', [Controller::class, 'show'])->name('path.show');
});
Route::middleware('auth')->group(function () {
Route::get('/path/create', [Controller::class, 'create'])->name('path.create');
Route::post('/path', [Controller::class, 'store'])->name('path.store');
Route::get('/path/{path}/edit', [Controller::class, 'edit'])->name('path.edit');
Route::put('/path/{path}', [Controller::class, 'update'])->name('path.update');
Route::delete('/path/{path}', [Controller::class, 'destroy'])->name('path.destroy');
});