使用 spring 的休息 api 速率限制
rate limit for rest api using spring
我想为休息实施速率限制功能 API。浏览所有文章后,似乎没有 spring 直接提供的速率限制 api。
但是有 2 个库提供了速率限制功能:
1) bucket4j-spring-boot-starter
2) weddini/spring-boot-throttling
现在我有一个非常愚蠢的 question.How 来验证这些 API 是否属于 spring 框架本身并且意味着在 Spring 上确保休息 API MVC 或这些是使用 spring.
开发的第 3 方库
我们的主要目标是使用 spring 框架及其提供的功能。并避免使用第 3 方库。
我关注了很多关于 Whosebug 的问题,并搜索了关于该主题的其他文章。其中一些提到 "spring does not provide out of the box functionality on this"。但我想知道 spring 提供了哪些基本功能。我们不是在寻找任何开箱即用的解决方案,任何基本解决方案也都可以。
参考问题:
Now I have a very silly question.How to verify whether these API
belong to spring framework itself and meant to secure rest API on
Spring MVC or these are 3rd party libraries developed using spring.
您可以轻松检查它们的依赖关系...
<dependency>
<groupId>com.giffing.bucket4j.spring.boot.starter</groupId>
<artifactId>bucket4j-spring-boot-starter-context</artifactId>
<version>0.1.15</version>
</dependency>
虽然所有 spring 依赖项都有这个 groupId
<groupId>org.springframework.boot</groupId>
你甚至可以在这里找到作者
https://github.com/MarcGiffing/bucket4j-spring-boot-starter
But I want to know what basic functionality spring provides on this.
这是一个非常广泛的话题,但简单来说:
您可以通过获取信息来查看谁在请求端点
对于您正在使用的令牌或任何其他身份验证。
您可以将该信息存储在数据库中(在内存中或不在内存中)并且
检查它以验证用户还有更多允许的请求
您可以根据这些参数拒绝调用
spring
全部支持
我想为休息实施速率限制功能 API。浏览所有文章后,似乎没有 spring 直接提供的速率限制 api。
但是有 2 个库提供了速率限制功能:
1) bucket4j-spring-boot-starter
2) weddini/spring-boot-throttling
现在我有一个非常愚蠢的 question.How 来验证这些 API 是否属于 spring 框架本身并且意味着在 Spring 上确保休息 API MVC 或这些是使用 spring.
开发的第 3 方库我们的主要目标是使用 spring 框架及其提供的功能。并避免使用第 3 方库。
我关注了很多关于 Whosebug 的问题,并搜索了关于该主题的其他文章。其中一些提到 "spring does not provide out of the box functionality on this"。但我想知道 spring 提供了哪些基本功能。我们不是在寻找任何开箱即用的解决方案,任何基本解决方案也都可以。
参考问题:
Now I have a very silly question.How to verify whether these API belong to spring framework itself and meant to secure rest API on Spring MVC or these are 3rd party libraries developed using spring.
您可以轻松检查它们的依赖关系...
<dependency>
<groupId>com.giffing.bucket4j.spring.boot.starter</groupId>
<artifactId>bucket4j-spring-boot-starter-context</artifactId>
<version>0.1.15</version>
</dependency>
虽然所有 spring 依赖项都有这个 groupId
<groupId>org.springframework.boot</groupId>
你甚至可以在这里找到作者
https://github.com/MarcGiffing/bucket4j-spring-boot-starter
But I want to know what basic functionality spring provides on this.
这是一个非常广泛的话题,但简单来说:
您可以通过获取信息来查看谁在请求端点 对于您正在使用的令牌或任何其他身份验证。
您可以将该信息存储在数据库中(在内存中或不在内存中)并且 检查它以验证用户还有更多允许的请求
您可以根据这些参数拒绝调用
spring
全部支持