Laravel 5 - How to get route parameters in your route middleware?

By Hardik Savani | May 14, 2016 | | 1324 Viewer | Category : Laravel


Share this post:

Sometimes we may require to get route parameters value in our middleware like if you want to check permission etc. You can get easily using request object, that provide route method and you can get it. I also added small example that way you can undestand very well.

In this bellow route i have id and userid two route and i want to get value of that parameters in my "check-route-param" middleware so first i have route like:

Example Route:

Route::group(['middleware' => ['web','check-route-param']], function () {

Route::get('{id}/myroute/{userid}', function () {

return view('welcome');

});

});

So, i have "check-route-param" middleware and i can get id and userid value this way:

Example Middleware:

namespace App\Http\Middleware;


use Closure;


class CheckRouteParamMiddleware

{

/**

* Handle an incoming request.

*

* @param \Illuminate\Http\Request $request

* @param \Closure $next

* @return mixed

*/

public function handle($request, Closure $next)

{

$id = $request->route('id');

$userid = $request->route('userid');

return $next($request);

}

}