Laravel API 路由不进行限制 - 始终设置为默认值 60,1

Laravel API Routing Not Doing Throttling - Always Set To Default 60,1

我有一组端点,我希望每分钟限制 10 个请求。目前,我的端点组如下所示:

Route::group([
    'middleware' => 'auth:api', 'throttle:10,1'
], function () {
// endpoints here
}

问题是,当我查看 headers 时,速率限制设置为标准的每分钟 60 个。我究竟做错了什么?或者您知道其他方法吗?

响应数据如下:

cache-control: no-cache, private
content-encoding: gzip
content-type: application/json
date: Tue, 01 May 2018 20:08:55 GMT
server: nginx/1.14.0 (Ubuntu)
status: 200
vary: Accept-Encoding
x-ratelimit-limit: 60
x-ratelimit-remaining: 59

我尝试了以下方法:

Route::group([
    'middleware' => ['auth:api', 'throttle:10,1']
], function () {
// rest of code

但得到了相同的结果。然后我尝试了:

Route::group([
    'middleware' => 'throttle:10,1', 'auth:api'
], function () {
// rest of code

但是,这给了我一个 500 错误。这告诉我,中间件肯定必须是一个数组。但是,当它是一个数组时,它不会将油门设置为我想要的。

我无法测试这个,但我怀疑你想要:

Route::group([
    'middleware' => ['auth:api', 'throttle:10,1']
], function () {
// rest of code

(docs source)

也就是不把'auth:api''throttle:10,1'放在一个数组里Laravel没办法理解后者也是中间件

我进入我的 Kernel.php 文件并添加了一个新的中间件组和我想要的节流器并删除了标准的 api 一个。这奏效了。我也必须为我制作的每个新中间件创建一个新的中间件组。我不认为它应该是这样的,但现在是这样。谢谢大家的帮助!