Laravel 5 - Remove Parameter From All Request Objects at Controller Level

Method 1

$request->except(['key1','key2',....])

provides an easy way to skip unwanted keys, similarly

Method 2

$request->only(['key3','key4',....])

provides an easy way to skip all others unwanted keys, I find both reasonably good for almost all scenarios


Laravel provides add and remove functions to add and remove new properties to the request object respectively.

 $request->request->add(['api_token' => 'api_token']); // to add new property to $request
    $request->request->remove('api_token'); // to remove property from $request

Perhaps you want global middleware?

First arrange for the middleware to run on all routes:

// routes.php
$app->middleware([
    App\Http\Middleware\Apitoken::class
]);

Then define what the middleware should do:

// src/App/Http/Middleware/Apitoken.php
<?php
namespace App\Http\Middleware;

use Closure;

class Apitoken
{
    public function handle($request, Closure $next)
    {
        unset($request['api_token']);

        return $next($request);
    }
}