前言:
最近项目中需要对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();

本文探讨了在项目中使用AOP对controller传入的appMarkId进行统一拦截和校验的方法。通过示例代码展示了如何在AOP中获取request和response,以及如何使用特定属性获取URI模板变量。
1万+

被折叠的 条评论
为什么被折叠?



