Skip to main content
Quick Tip

Adding a Global Middleware: 3 Ways

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.php
Route::middleware(YourMiddleware::class)->group(function() {
// .., all API routes
})

Option 2. In the routes service provider.

// app/Providers/RouteServiceProvider.php
public 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' group
protected $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.

We'd Love Your Feedback

Tell us what you like or what we can improve

Feel free to share anything you like or dislike about this page or the platform in general.