java - 怎么判断自定义注解里的值是否正确?
问题描述
@RestController@RequestMapping('/api')public class CasApiController { private final transient Logger logger = LoggerFactory.getLogger(getClass()); private UpTokenServiceInterface upTokenServiceInterface; private static final String LIMITER_KEY = 'CasApiControllerControllerLimiter'; private static final String LIMITER_KEY_HOUR = 'CasApiControllerControllerLimiterHour'; private static final String LIMITER_KEY_DAY = 'CasApiControllerControllerLimiterDay'; private static final int LIMITER_NUM_REQUESTS = 5; private static final int LIMITER_NUM_REQUESTS_HOUR = 10; private static final int LIMITER_NUM_REQUESTS_DAY = 20; @Autowired public CasApiController(UpTokenServiceInterface upTokenServiceInterface) {this.upTokenServiceInterface = upTokenServiceInterface; } @RequestMapping(value = 'qiniu/uptoken', method = RequestMethod.GET ) @ResponseBody @ApiControllerWithArgHttpServletRequestRateLimiterThrottleable @RateLimit(numRequests = LIMITER_NUM_REQUESTS, key = LIMITER_KEY) @RateLimit2(numRequests = LIMITER_NUM_REQUESTS_HOUR, key = LIMITER_KEY_HOUR) @RateLimit3(numRequests = LIMITER_NUM_REQUESTS_DAY, key = LIMITER_KEY_DAY) public JSONObject getUpToken() {JSONObject jsonObject = new JSONObject();jsonObject.put('uptoken',upTokenServiceInterface.uploadToken());return jsonObject; }}-----------------------------3个@RateLimit里面各有参数限制,日时分,要避免人为写错参数,怎么加一个判断或者验证,判断它们的参数和正确的顺序匹配?
问题解答
回答1:java 8 已经支持多个相同 Annotation 了,判断起来更方便。
相关文章:
1. python - pig latin问题 总是出现list/string index out of range2. 安装mysql,完成时提示的是用户名root,在终端查看版本时显示的不是root,请问这怎么解决3. javascript - sublime已经安装了babel插件和sublimelinter-jshint为什么还是显示es6语法错误?4. css3 - canvas在IOS8中不兼容。画不出来。5. 为什么HTML5规范中会包含一些和html无关的东西?如本地存储等。6. 闯关的第二个问题的答案是错的吧?7. css3 - img垂直水平居中问题8. javascript - npm install 报错,求解9. javascript - nginx 反向代理 js跨域问题?10. python - Pycharm调试代码进行列表遍历时,如何直接赋值指定元素

网公网安备