Laravel 5.4 - 覆盖 API 'throttle:60,1'
2022-08-30 16:42:55
我正在编写大量API来获取和存储数据。
我喜欢默认选项:throttle
protected $middlewareGroups = [
'api' => [
'throttle:60,1',
'bindings',
],
];
将请求限制为每分钟 60 个;但是对于某些路由(es:),我想增加此值。POST
我试图设置如下路线中间件:'throttle:500,1'
Route::group(function () {
Route::get('semaphore/1', ['uses' => 'App\Api\V1\DBs\SemaphoreController@index']);
Route::post('semaphore/1', ['uses' => 'App\Api\V1\DBs\SemaphoreController@store', 'middleware' => 'WriteToDatabaseMiddleware', 'throttle:500,1']);
});
但它不起作用。
有什么想法吗?
谢谢。
更新:
我注意到路由中使用的路由将在默认指定后设置为文件;然后,它不起作用。'throttle:500,1'
api.php
'throttle:60,1'
Kernel.php
记录流程执行,第一个调用是:
Illuminate\Routing\Middleware\ThrottleRequests -> handle
从 有 .Kernel.php
maxAttempts=60
然后,第二个调用是:
Illuminate\Routing\Middleware\ThrottleRequests -> handle
从 有 .api.php
maxAttempts=500
换句话说,文件中的 不会覆盖文件中的 。throttle:500,1
api.php
throttle:60,1
Kernel.php