AOP攔截Controller獲取@PathVariable註解傳入的參數

前言:
最近項目中需要對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();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章