我正在使用以下代码为组中的所有路由实现速率限制功能。
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
//....
});
问题 这非常有效。有没有办法为组中的任何特定路由实现此功能?
答案 0 :(得分:2)
当然可以。您可以分配给路由组的任何属性也可以分配给单个路由(事实上,路由组实际上只将其属性按顺序应用于其中包含的每个路由,仅此而已)。因此,您可以将中间件组(例如api
)分配给单个路径:
Route::get('/route/path', ['middleware' => 'api', 'uses' => 'Controller@action']);
或者,如果您只想使用限制中间件,可以使用:
Route::get('/route/path', ['middleware' => 'throttle:2', 'uses' => 'Controller@action']);
有关速率限制功能的更多详细信息,您可以查看下面链接的Laracasts视频: