Php Laravel-特定API路由的速率限制

Php Laravel-特定API路由的速率限制,php,laravel,api,Php,Laravel,Api,我目前正在一个Laravel驱动的网站上工作,该网站由两个独立的服务器提供动力,一个API服务器和一个公共web服务器(都运行Laravel) API有许多路由,用于验证某些关键术语的可用性,例如电子邮件地址和URL slug。这些路由通过AJAX调用以检查数据库,并在按键时触发 正如AJAX请求在一分钟内被多次触发一样,API抛出了一个“太多请求”错误。我知道这可以通过增加请求限制来解决,但是我只想对两条路由进行修复,而不是所有路由 如何禁用单个API路由上的速率限制 这是其中一条路线,非常标

我目前正在一个Laravel驱动的网站上工作,该网站由两个独立的服务器提供动力,一个API服务器和一个公共web服务器(都运行Laravel)

API有许多路由,用于验证某些关键术语的可用性,例如电子邮件地址和URL slug。这些路由通过AJAX调用以检查数据库,并在按键时触发

正如AJAX请求在一分钟内被多次触发一样,API抛出了一个“太多请求”错误。我知道这可以通过增加请求限制来解决,但是我只想对两条路由进行修复,而不是所有路由

如何禁用单个API路由上的速率限制

这是其中一条路线,非常标准:

Route::post('/email/is-available', function(Request $request) {

    ...

})->middleware('my_own_api_key_checking_middleware');

非常感谢

您收到的请求消息太多,因为默认情况下,Laravel将节流中间件应用于所有api路由,要禁用它,请转到
app/Http/Kernel.php
并从属性
$middlewareGroups
中删除或注释
节流
数组项,这将禁用组上每个路由的限制。
现在在routes文件中,将其添加到所需的route:

->middleware('throttle:240,1');

其中第一个数字是请求的限制,第二个是时间。

我会使用路由中间件附带的数字。太好了,谢谢@namelivia,有没有办法禁用速率限制而不是增加它?是的,请在
app/Http/Kernel.php
上注释
throttle
行。顺便说一下,默认情况下,该包集成在最新版本的laravel framework上。让我详细解释一下作为答案。太好了,谢谢你的回答!若要禁用单个路由的限制,我是否必须禁用所有路由,并将限制重新应用于我希望打开限制的所有路由?哦,这是否正在使用?如果是这样,请不要忘记在回答中包括:)您可以创建一个中间件组,并将所有路由(不希望限制的路由除外)放入组中。