Laravel 5.2中特定路由的速率限制功能


Rate Limiting Feature for particular Route in Laravel 5.2

我正在使用以下代码为组中的所有路由实现速率限制功能。

Route::group(['middleware' => ['web', 'throttle:2']], function () {
    Route::get('/CSR', array('uses' =>  'CSR_Controller@index', 'as' => 'CSRList'));
    //Second Route
    //Third Route
    //Fourth Route
    //Fifth Route
    //....
});

问题这很好用。有没有办法为组中的任何特定路由实现这一点?

当然可以。您可以分配给路由组的任何属性也可以分配给单个路由(实际上,路由组实际上仅将其属性按顺序应用于其中包含的每个路由,仅此而已)。因此,您可以将中间件组(如 api)分配给单个路由:

Route::get('/route/path', ['middleware' => 'api', 'uses' => 'Controller@action']);

或者,如果您只想使用限制中间件,您可以使用:

Route::get('/route/path', ['middleware' => 'throttle:2', 'uses' => 'Controller@action']);

有关速率限制功能的更多详细信息,您可以查看下面链接的 Laracasts 视频:

Laravel 5.2中的新功能:API速率限制