Kako Postaviti Globalni Middleware za Sve API Rute u Laravelu

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: dodaj u grupu 'api' 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.