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.

Recent Courses on Laravel Daily

Roles and Permissions in Laravel 13

14 lessons
57 min

Testing in Laravel 13 For Beginners

26 lessons
1 h 41 min read

Queues in Laravel 13

18 lessons
1 h 12 min read