If you want to define a global Middleware for all API routes, for example, there are three "levels" where you can set it:
Option 1. In the routes file.
// routes/api.phpRoute::middleware(YourMiddleware::class)->group(function() { // .., all API routes})
Option 2. In the routes service provider.
// app/Providers/RouteServiceProvider.phppublic function boot(){ $this->configureRateLimiting(); $this->routes(function () { Route::middleware(['api', YourMiddleware::class]) // ...
Option 3. In the global middleware kernel file.
// app/Http/Kernel.php: add to the 'api' groupprotected $middlewareGroups = [ 'api' => [ // \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class, 'throttle:api', \Illuminate\Routing\Middleware\SubstituteBindings::class, YourMiddleware::class, ],];
Enjoyed This Tip?
Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.
Recent Courses
How to Build Laravel 12 API From Scratch
28 lessons
1 h 21 min
Filament 4 From Scratch
28 lessons
2 h 25 min
PhpStorm Junie AI for Laravel Projects: Crash Course
7 lessons
36 min