Laravel:不同路径的API速率限制不同

苏菲

我需要为不同的路径设置不同的速率限制。敌人的例子:

在路径/用户上,我希望每分钟60个请求的速率限制,而对于路径/ stats,我希望每分钟仅5个请求的速率限制。

我尝试了下一种方法

Route::group(['middleware' => ['auth', 'throttle:60']], function(){
   Route::get('users', 'User@list');
});
Route::group(['middleware' => ['auth', 'throttle:5']], function(){
   Route::get('stats', 'User@stats');
});

不知何故,将应用最后的速率限制。但是,在用户路径上发出请求时,X-Rate-Limit-Limit标头设置为60,但在达到第6个请求时会引发“ Too many requests”错误。

杰里米肯迪

您可能要尝试注释掉的第40行Kernel.php的默认速率,因为您正在每个中间件组中指定默认速率以避免冲突。

您可能还希望更改中间件,使其包含第二个参数,该参数表示等待下一个请求可以进入的等待时间。(例如throttle:60,1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章