我如何将 fastify 速率限制器应用于 Nest JS 中的单个路由?

How do I apply fastify rate limiter to a single route in Nest JS?

我可以使用类似于 this question. On the fastify rate limiter readme 的答案的代码将速率限制器全局应用于我的 nest 应用程序,表明您可以通过配置将速率限制器应用于特定路由 属性 带有选项的 rateLimit 对象。 Nest 的文档没有解释如何做到这一点;在框架中有可能还是我运气不好?

没有仅将其添加到端点的固有方法,但您可以将 whitelist 属性 函数修改为 return true 所有路由,除了一条(s) 你想限速。它可能看起来像

app.use(rateLimit({
  whitelist: (req, key) => {
    return !limitProtectedRoutes.includes(req.url);
  }),
}));

可能还需要再做一些修改,但思路已经有了