Laravel 5.2中特定路线的速率限制特征

时间:2016-01-17 00:09:46

标签: php laravel 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
    //....
});

问题 这非常有效。有没有办法为组中的任何特定路由实现此功能?

1 个答案:

答案 0 :(得分:2)

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

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

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

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

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

  

What's New in Laravel 5.2: API Rate Limiting