Ich habe eine Middleware, die funktioniert gut, wenn als globale Middleware in Kernel.php definiert. Allerdings mag ich es nur auf bestimmte Strecken angewandt werden, so dass ich dies tun:Laravel Middleware erkannt, aber nicht ausgeführt
Route::group(['prefix' => 'myapi/', 'middleware' => 'api'], function(){
});
Aufruf php artisan route:list
zeigt, dass die Middleware korrekt erkannt wird. Es wird jedoch nicht ausgeführt (ich weiß das, weil selbst das absichtliche Setzen eines Fehlers in die Datei nichts bewirkt).
...
protected $middlewareGroups = [
...
'api' => [
'throttle:60,1',
\App\Http\Middleware\CORSMiddleware::class,
],
];
Wenn die Middleware als global festgelegt wird, ist es nicht von route:list
gelistet werden. Auch das falsche Angeben eines falschen Middleware-Namens in routes.php führt zu keinem Fehler.
EDIT: Protokollierung zeigt, dass die Middleware für alle GET-Ressource Routen ausgeführt wird, aber nicht für POST/PUT/DELETE.
Beide Syntaxen sind erlaubt, sonst Handwerker würde nicht Liste die Middleware in der 'route: list'. Aber selbst mit dieser Syntax funktioniert es nicht :( – user5365075