前言:
最近項目中需要對controller傳入的應用標識(appMarkId)進行校驗,appMarkId@PathVariable傳入到url模版中的,這裏用到了aop統一攔截處理,但是在攔截的過程中發現request獲取不到該參數,隨後進行了研究。
示例代碼:
處理:
Map map = (Map) request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
可以用這個方法獲取到所有uri模版中傳入的參數。
擴展: aop中獲取request和response
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
HttpServletRequest request = servletRequestAttributes.getRequest();
HttpServletResponse response = servletRequestAttributes.getResponse();