Black Friday: coupon FRIDAY24 for 40% off Yearly/Lifetime membership! Read more here

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,
],
];

Like our articles?

Become a Premium Member for $129/year or $29/month
What else you will get:
  • 67 courses (1172 lessons, total 43 h 18 min)
  • 90 long-form tutorials (one new every week)
  • access to project repositories
  • access to private Discord

Recent New Courses