Membuat Middleware
Tutorial Laravel: Membuat Middleware
Middleware di Laravel adalah mekanisme yang digunakan untuk memfilter HTTP request yang masuk ke aplikasi Anda. Dalam tutorial ini, kita akan membahas langkah-langkah untuk membuat middleware di Laravel secara detail.
Langkah 1: Membuat Middleware
Untuk membuat middleware, Anda dapat menggunakan Artisan command yang disediakan oleh Laravel. Jalankan perintah berikut di terminal Anda:
php artisan make:middleware CheckAge
Perintah di atas akan membuat file middleware baru di direktori app/Http/Middleware
. Anda akan mendapatkan file bernama CheckAge.php
.
Langkah 2: Menulis Logika Middleware
Buka file CheckAge.php
yang baru saja Anda buat di editor Anda. Di dalam file ini, Anda akan menemukan method handle
, yang merupakan tempat Anda dapat menambahkan logika untuk middleware Anda.
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class CheckAge
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param int $age
* @return mixed
*/
public function handle(Request $request, Closure $next, $age)
{
if ($request->input('age') < $age) {
return response('Unauthorized.', 401);
}
return $next($request);
}
}
Dalam contoh ini, logika middleware CheckAge
memeriksa apakah parameter age
yang diterima dari request kurang dari nilai yang Anda tentukan. Jika kurang, maka middleware akan mengembalikan response Unauthorized
. Jika tidak, request akan diteruskan ke middleware berikutnya atau controller.
Langkah 3: Mendaftarkan Middleware
Setelah Anda menulis logika middleware, langkah selanjutnya adalah mendaftarkannya di aplikasi Anda. Buka file app/Http/Kernel.php
dan tambahkan middleware Anda ke dalam properti $routeMiddleware
.
protected $routeMiddleware = [
// ...
'checkage' => \App\Http\Middleware\CheckAge::class,
];
Langkah 4: Menggunakan Middleware
Sekarang Anda dapat menggunakan middleware yang telah Anda buat pada route Anda. Buka file routes/web.php
dan tambahkan middleware ke route yang Anda inginkan:
Route::get('profile', function () {
return 'Welcome to your profile!';
})->middleware('checkage:18');
Dalam contoh ini, route /profile
akan menggunakan middleware CheckAge
, dan akan memeriksa apakah age
yang dikirimkan dalam request minimal 18 tahun.
Langkah 5: Menguji Middleware
Untuk menguji middleware Anda, Anda bisa menggunakan Postman atau curl untuk mengakses route yang telah Anda buat. Cobalah mengirimkan request ke route /profile
dengan parameter age
.
Request dengan
age
di bawah 18:GET /profile?age=15
Anda akan mendapatkan response:
Unauthorized.
Request dengan
age
di atas 18:GET /profile?age=20
Anda akan mendapatkan response:
Welcome to your profile!
Kesimpulan
Anda telah berhasil membuat middleware di Laravel yang memfilter request berdasarkan parameter tertentu. Middleware memungkinkan Anda untuk menangani berbagai aspek request dan mengelola akses ke bagian-bagian dari aplikasi Anda secara efisien. Anda dapat menambahkan lebih banyak logika sesuai kebutuhan aplikasi Anda.
Selamat mencoba!