接口限流
章节简介
本章节介绍系统如何实现接口的限流保护
配置限流
在实际业务需求中,有一些接口,例如登录、秒杀下单、等需要对请求次数进行限流保护,防止有人恶意刷接口。此需求在框架中可通过@RateLimit注解,并配合AOP快捷实现。 开发人员只需要在需要限流的接口上加上@RateLimit注解即可。
@ApiOperation("用户登录")
@PostMapping(value = "/login")
@RateLimit(cycle = 10, count = 5)
public Result login(@RequestBody @Validated PasswordLoginDto dto) {
//业务逻辑,略...
return Result.OK();
}
提示
示例:@RateLimit(cycle = 10, count = 5, msg = "登录频率过高,请稍后再试")
意思是:10秒内最多只能访问5次,超过次数会提示登录频率过高,请稍后再试,10秒后自动解锁可以继续访问。
返回提示内容可通过msg属性自定义。
