2016-04-10 10 views
1

Kernel.phpにグローバルミドルウェアとして定義されている場合、がうまく動作するミドルウェアがあります。しかし、私はそれだけで特定のルートに適用することにしたいので、私はこれを行う:php artisan route:listを呼び出すLaravelミドルウェアが検出されましたが実行されませんでした

Route::group(['prefix' => 'myapi/', 'middleware' => 'api'], function(){ 

}); 

はミドルウェアが正しく検出されていることを示しています。しかし、それは実行されません(私はこれを知っています。故意にファイルにエラーを置くことさえ何もしないからです)。

... 
protected $middlewareGroups = [ 
    ... 
    'api' => [ 
     'throttle:60,1', 
     \App\Http\Middleware\CORSMiddleware::class, 
    ], 
]; 

ミドルウェアをグローバルに設定した場合、それはroute:listで列挙されません。また、routes.phpで間違ったミドルウェア名を意図的に指定しても、エラーは発生しません。

EDIT: ロギングでは、ミドルウェアはすべてのGET ressourceルートに対して実行されますが、POST/PUT/DELETEでは実行されません。

答えて

0

私はミドルウェアがグループに追加する際に、配列の内側に配置する必要があると考えている - それは引き金とあなたに期待される結果を与えることになりますこと:両方の構文が許可されている

Route::group(['prefix' => 'myapi/', 'middleware' => ['api']], function(){ 

}); 
+0

を、そうでない業者はリストではないだろうミドルウェアは 'route:list'にあります。しかし、まだその構文ではうまくいかない:( – user5365075

関連する問題