From 717824f2c432039fbaaa84f12949df352fbd5e79 Mon Sep 17 00:00:00 2001 From: yyg2931 Date: Wed, 11 Dec 2024 08:47:22 +0700 Subject: [PATCH] Testing Laravel Routes --- routes/api.php | 5 ++++- routes/web.php | 41 ++++++++++++++++++++++++++++------------- 2 files changed, 32 insertions(+), 14 deletions(-) diff --git a/routes/api.php b/routes/api.php index 39ecc07c6..2ff4069e6 100644 --- a/routes/api.php +++ b/routes/api.php @@ -2,6 +2,7 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; +use App\Http\Controllers\TaskController; /* |-------------------------------------------------------------------------- @@ -23,5 +24,7 @@ // Keep in mind that prefix should be /api/v1. // Add ONE line to assign 5 resource routes to TaskController // Put one code line here below - + Route::prefix('/v1')->group(function () { + Route::resource('tasks', TaskController::class)->except(['create', 'edit']); + }); }); diff --git a/routes/web.php b/routes/web.php index 15508ce8d..8dc8fa5e6 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,6 +1,12 @@ name('index'); // Task 2: point the GET URL "/user/[name]" to the UserController method "show" // It doesn't use Route Model Binding, it expects $name as a parameter // Put one code line here below - +Route::get('/user/{name}', [UserController::class, 'show'])->name('show'); // Task 3: point the GET URL "/about" to the view // resources/views/pages/about.blade.php - without any controller // Also, assign the route name "about" // Put one code line here below - +Route::get('/about', function () { + return view('pages.about'); +})->name('about'); // Task 4: redirect the GET URL "log-in" to a URL "login" // Put one code line here below - +Route::redirect('/log-in', '/login'); // Task 5: group the following route sentences below in Route::group() // Assign middleware "auth" // Put one Route Group code line here below - +Route::middleware(['auth'])->group(function () { + + // Tasks inside that Authenticated group: // Task 6: /app group within a group // Add another group for routes with prefix "app" // Put one Route Group code line here below - + Route::prefix('app')->group(function () { + + // Tasks inside that /app group: // Task 7: point URL /app/dashboard to a "Single Action" DashboardController // Assign the route name "dashboard" // Put one Route Group code line here below - + Route::get('dashboard', DashboardController::class)->name('dashboard'); // Task 8: Manage tasks with URL /app/tasks/***. // Add ONE line to assign 7 resource routes to TaskController // Put one code line here below - + Route::resource('tasks', TaskController::class); // End of the /app Route Group - + }); // Task 9: /admin group within a group // Add a group for routes with URL prefix "admin" // Assign middleware called "is_admin" to them // Put one Route Group code line here below + Route::group(['prefix' => 'admin', 'middleware' => 'is_admin'], function(){ + + // Tasks inside that /admin group: // Task 10: point URL /admin/dashboard to a "Single Action" Admin/DashboardController // Put one code line here below - + Route::get('/dashboard', AdminDashboardController::class); // Task 11: point URL /admin/stats to a "Single Action" Admin/StatsController // Put one code line here below - + Route::get('/stats', AdminStatsController::class); // End of the /admin Route Group - + }); // End of the main Authenticated Route Group - +}); // One more task is in routes/api.php require __DIR__.'/auth.php';