我正在使用以下代码为组中的所有路由实现速率限制功能。
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速率限制