首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javalin Ratelimit在3.0中

Javalin Ratelimit在3.0中
EN

Stack Overflow用户
提问于 2022-01-23 15:59:09
回答 1查看 105关注 0票数 0

我们试图使用API处理程序文档中的以下语法实现对API的no.of请求。

代码语言:javascript
复制
    val app = Javalin.create {
        it.defaultContentType = "application/json"
        it.enableWebjars()
        it.addStaticFiles("", Location.CLASSPATH)
        it.enableCorsForAllOrigins()
        it.dynamicGzip = true
    }
    app.options("/*") { ctx -> ctx.status(405) }    
    app.get("/*"){ctx ->
        RateLimit(ctx).requestPerTimeUnit(5, TimeUnit.MINUTES) // throws if rate limit is exceeded
        ctx.status("Hello, rate-limited World!") }

但最终得到的是未解决的引用基准错误。这里有语法的指针吗?

我们用Kotlin来实现它。

EN

回答 1

Stack Overflow用户

发布于 2022-06-07 09:16:13

该库似乎更改了在不更新文档的情况下使用速率限制的方式。

改为使用以下代码:

代码语言:javascript
复制
NaiveRateLimit.requestPerTimeUnit(ctx, 5, TimeUnit.MINUTES)

您还可以使用单个速率限制器实例,如下所示:

代码语言:javascript
复制
val rateLimiter = RateLimiter(TimeUnit.MINUTES)

app.get("/*"){ ctx ->
    rateLimiter.incrementCounter(ctx, 5) // throws if rate limit is exceeded
    ctx.status("Hello, rate-limited World!")
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70823924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档