@Limit(name = "limit", key = "#id1 + \"-\" + #id2", limitPeriod = 10, limitCount = 5) String doA(String id1, String id2); }
@Override public Object invoke(MethodInvocation invocation) throws Throwable { Limit limitAnnotation = getLimitAnnotation(invocation); if (limitAnnotation != null) { String name = limitAnnotation.name(); String key = limitAnnotation.key(); int limitPeriod = limitAnnotation.limitPeriod(); int limitCount = limitAnnotation.limitCount(); return invoke(invocation, limitAnnotation, name, key, limitPeriod, limitCount); } return invocation.proceed(); }
@Override public Object invoke(MethodInvocation invocation) throws Throwable { Limit limitAnnotation = getLimitAnnotation(invocation); if (limitAnnotation != null) { String name = limitAnnotation.name(); String key = limitAnnotation.key(); int limitPeriod = limitAnnotation.limitPeriod(); int limitCount = limitAnnotation.limitCount(); return invoke(invocation, limitAnnotation, name, key, limitPeriod, limitCount); } return invocation.proceed(); }
@Limit(name = "limit", key = "#id1 + \"-\" + #id2", limitPeriod = 10, limitCount = 5) public String doB(String id1, String id2) { LOG.info("doB"); return "B"; } }
@RequestMapping(path = "/doG", method = RequestMethod.GET) @Limit(name = "limit", key = "#id1 + \"-\" + #id2", limitPeriod = 10, limitCount = 5) public String doG(String id1, String id2) { LOG.info("doG"); return "G"; } }