Pluginify

Masuk Daftar
Home > Blog > Laravel > Routing Dasar Laravel: Mengatur Alur Permintaan HTTP

Routing Dasar Laravel: Mengatur Alur Permintaan HTTP

Routing Dasar Laravel: Mengatur Alur Permintaan HTTP

Routing merupakan komponen fundamental dalam Laravel yang bertugas mengatur arah permintaan HTTP menuju logika yang tepat. Pada pengembangan aplikasi web, sistem routing menentukan bagaimana pengguna berinteraksi dengan resource melalui URL. Laravel menyediakan mekanisme routing yang sederhana, eksplisit, dan fleksibel.

Pada artikel ini akan dijelaskan konsep routing dasar, jenis-jenis route, penanganan parameter, serta contoh implementasi praktis.

Apa Itu Routing dalam Laravel?

Routing adalah proses mengarahkan request yang masuk (GET, POST, PUT, DELETE, dsb.) ke fungsi atau controller yang sesuai. Dengan routing, developer dapat mendefinisikan URL dan menentukan respons yang diberikan kepada pengguna.

Laravel menggunakan file konfigurasi routing yang terdapat pada:

routes/web.php       → untuk routing web (membutuhkan session & CSRF)
routes/api.php       → untuk routing API (stateless)

Routing Simple Menggunakan Closure

Contoh routing paling sederhana menggunakan closure:

// routes/web.php

Route::get('/hello', function () {
    return 'Hello, Laravel!';
});

Jika pengguna membuka http://localhost:8000/hello, maka browser akan menampilkan teks "Hello, Laravel!".

Jenis-jenis HTTP Method pada Routing

Laravel mendukung berbagai HTTP method:

MethodKeteranganGETMengambil dataPOSTMengirim data baruPUTMemperbarui data penuhPATCHMemperbarui data sebagianDELETEMenghapus data

Contoh implementasi:

Route::post('/submit', function () {
    return 'Data Submitted';
});

Route::put('/update', function () {
    return 'Data Updated';
});

Route::delete('/remove', function () {
    return 'Data Removed';
});

Routing ke Controller

Selain closure, routing dapat diarahkan ke controller:

use AppHttpControllersUserController;

Route::get('/users', [UserController::class, 'index']);

Struktur controller:

class UserController extends Controller
{
    public function index()
    {
        return view('users.index');
    }
}

Pendekatan ini lebih rapi pada proyek yang kompleks.

Route Parameters (Parameter pada URL)

Laravel mendukung parameter dinamis pada URL.

a. Parameter Wajib

Route::get('/user/{id}', function ($id) {
    return "User ID: $id";
});

Mengakses:

/user/10 → Output: User ID: 10

b. Parameter Opsional

Route::get('/profile/{name?}', function ($name = 'Guest') {
    return "Hello, $name";
});

Mengakses:

/profile → Output: Hello, Guest

Named Route (Memberi Nama Route)

Named route berguna untuk redirect atau membuat URL.

Route::get('/dashboard', function () {
    return 'Dashboard';
})->name('dashboard');

Pemanggilan pada Blade:

route('dashboard')

Redirect menggunakan named route:

return redirect()->route('dashboard');

Named route meningkatkan maintainability terutama saat URL berubah.

Grouping Route

Laravel memungkinkan grouping untuk tujuan:

  • Prefix URL
  • Prefix nama
  • Middleware

Contoh prefix URL:

Route::prefix('admin')->group(function () {
    Route::get('/dashboard', function () {
        return 'Admin Dashboard';
    });

    Route::get('/users', function () {
        return 'Admin Users';
    });
});

Akses URL menjadi:

/admin/dashboard
/admin/users

Route Middleware

Middleware dapat diterapkan pada route untuk proses filtering (misal: autentikasi).

Route::middleware(['auth'])->group(function () {
    Route::get('/settings', function () {
        return 'User Settings';
    });
});

Jika middleware auth tidak terpenuhi, pengguna akan ditolak.

Routing API

File routes/api.php digunakan untuk endpoint API:

Route::get('/products', function () {
    return ['Product 1', 'Product 2'];
});

Perbedaan utama:

  • Stateless (tanpa session)
  • Tidak memerlukan CSRF
  • Konvensi akses menggunakan prefix /api

Kesimpulan

Routing adalah sistem inti yang menghubungkan permintaan HTTP dengan logika aplikasi dalam Laravel. Dengan kemampuan mengatur HTTP method, parameter URL, named route, hingga grouping dan middleware, Laravel menyediakan fondasi yang kuat untuk pengembangan aplikasi web yang terstruktur dan mudah dipelihara.

Memahami routing dasar merupakan langkah penting sebelum masuk ke pembahasan lebih lanjut seperti:

  • Controller
  • Model Eloquent
  • Middleware
  • REST API
  • Filament Admin Panel

Yuk lanjut ke Pembahasa Berikutnya: Controller Dasar Laravel

Pluginify
Pluginify