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. mysql - 這條聯合sql語句哪里錯了2. mysql優化 - 關于mysql分區3. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應4. java - Atom中文問題5. java - MySQL中,使用聚合函數+for update會鎖表嗎?6. css3 - 這個形狀使用CSS怎么寫出來?7. javascript - 為什么這個點擊事件需要點擊兩次才有效果8. node.js - 在vuejs-templates/webpack中dev-server.js里為什么要exports readyPromise?9. javascript - ionic2 input autofocus 電腦成功,iOS手機鍵盤不彈出10. java - C語言算法題-韓信點兵 求解?