Java 使用spring的rest api的速率限制

Java 使用spring的rest api的速率限制,java,spring,spring-boot,rate-limiting,Java,Spring,Spring Boot,Rate Limiting,我想为RESTAPI实现速率限制功能。在浏览了所有文章之后,似乎没有spring直接提供的速率限制api 但有两个库提供速率限制功能: 1) bucket4j弹簧防尘套起动器 2) 韦迪尼/弹簧靴节流 现在我有一个非常愚蠢的问题:如何验证这些API是否属于spring框架本身,是否意味着要在spring MVC上保护rest API,或者这些是使用spring开发的第三方库 我们的主要目标是使用spring框架及其提供的功能。避免使用第三方库 我关注了许多关于stackoverflow的问题,并

我想为RESTAPI实现速率限制功能。在浏览了所有文章之后,似乎没有spring直接提供的速率限制api

但有两个库提供速率限制功能:

1) bucket4j弹簧防尘套起动器

2) 韦迪尼/弹簧靴节流

现在我有一个非常愚蠢的问题:如何验证这些API是否属于spring框架本身,是否意味着要在spring MVC上保护rest API,或者这些是使用spring开发的第三方库

我们的主要目标是使用spring框架及其提供的功能。避免使用第三方库

我关注了许多关于stackoverflow的问题,并在谷歌上搜索了其他关于这个话题的文章。他们中的一些人提到“spring在这方面不提供开箱即用的功能”。但我想知道spring在这方面提供了什么基本功能。我们不是在寻找任何现成的解决方案,任何基本的解决方案也可以

参考问题:

现在我有一个非常愚蠢的问题。如何验证这些API 属于spring框架本身,旨在保护其上的RESTAPI SpringMVC或这些是使用Spring开发的第三方库

您可以轻松地检查它们的依赖关系

<dependency>
    <groupId>com.giffing.bucket4j.spring.boot.starter</groupId>
    <artifactId>bucket4j-spring-boot-starter-context</artifactId>
    <version>0.1.15</version>
</dependency>

com.giffing.bucket4j.spring.boot.starter

但我想知道spring在这方面提供了什么基本功能

这是一个非常广泛的话题,但用简单的话来说:

  • 您可以通过获取信息来检查谁在请求端点 用于您正在使用的令牌或任何其他身份验证

  • 您可以将该信息存储在数据库中(无论是否在内存中),然后 选中它以验证用户仍有更多允许的请求

  • 您可以根据这些参数拒绝呼叫


spring支持所有这些功能,因此spring基本上不提供任何这样的功能,如果超过某个计数,spring可以使用这些功能拒绝restapi调用。使用注释等可以混淆。请澄清我的理解。spring提供的所有功能都是实现这些功能的方法。不,据我所知,spring还没有提供这种支持,而且我也没有尽我所能进行研究,以防出现新的功能。Spring基本上支持所有工具、过滤器、授权等,以便您在不想使用第三方库(如您所述)的情况下创建自己的逻辑,但尚未创建具有Spring签名的库
<groupId>org.springframework.boot</groupId>