Kako Postaviti Globalni Middleware za Sve API Rute u Laravelu
Middleware u Laravelu predstavlja posrednika između zahtjeva korisnika i aplikacije. Oni se koriste za filtriranje ili manipulaciju zahtjevima prije nego što dođu do kontrolera. Postavljanje globalnog Middleware-a za sve API rute omogućava vam da primijenite određenu logiku na svaki API zahtjev u vašoj aplikaciji. U ovom blogu istražit ćemo tri opcije za postavljanje globalnog Middleware-a.
Opcija 1: U Datoteci za Rute
Prva opcija je postavljanje Middleware-a direktno u datoteku za rute. Ovo se može postići jednostavno dodavanjem Middleware-a u grupu Middleware-a koja se primjenjuje na sve API rute u datoteci routes/api.php
. Evo kako to izgleda:
// routes/api.php
Route::middleware('YourMiddleware::class')->group(function () {
// sve API rute
});
Ovaj pristup je brz i jednostavan za implementaciju, ali može postati nepraktičan ako imate veliki broj API ruta.
Opcija 2: U Provajderu Usluga za Rute
Druga opcija je postavljanje Middleware-a u provajderu usluga za rute. To se radi u metodi boot()
provajdera RouteServiceProvider
. Ovaj pristup omogućava centralizovanje konfiguracije Middleware-a i čini ga dostupnim svim rutama u vašoj aplikaciji. Evo kako to izgleda:
// app/Providers/RouteServiceProvider.php
public function boot()
{
$this->configureRateLimiting();
$this->routes(function () {
Route::middleware(['api', 'YourMiddleware::class'])
// ...
});
}
Ova metoda je posebno korisna ako želite primijeniti Middleware na sve rute, ali želite izbjeći nepotreban dupliranje koda.
Opcija 3: U Globalnoj Srednjoj Složenosti za Rute
Treća opcija je postavljanje Middleware-a u globalnu srednju složenost za rute. To se radi u datoteci app/Http/Kernel.php
dodavanjem Middleware-a u grupu 'api'. Evo kako to izgleda:
// app/Http/Kernel.php
protected $middlewareGroups = [
'api' => [
// \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
'YourMiddleware::class',
],
];
Ovaj pristup omogućava vam postavljanje Middleware-a na sve API rute na jednom centralnom mjestu, čime olakšava održavanje i upravljanje.
Nadam se da vam je ovaj blog koristan za postavljanje globalnog Middleware-a u Laravelu! Ako imate bilo kakvih pitanja ili želite dodatne informacije, slobodno pitajte.