我找到了Guava RateLimiter来实现GET / Post请求的限制。我在控制器中调用了类,并为一些get类调用了对象。但没有任何反应。我仍然可以在一秒钟内多次请求获取方法。
@Controller
public class Controller {
final RateLimiter rateLimiter = RateLimiter.create(1.0);
@RequestMapping(value = "/user/{customId}", method = RequestMethod.GET, headers = "Accept=application/json")
@ResponseBody
public List<User> showUser(@PathVariable("customId") String customId) {
rateLimiter.acquire();
return services.findUserByCustomId(customId);
}
}
我应该做些什么,还是有任何其他速率限制解决方案?