我需要在我的spring引导应用程序中检索路径参数映射,我注意到以下代码行:
final Map<String, String> pathVariables = (Map<String, String>) request
.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
仅适用于在spring启动InterceptorHandler类,我猜是因为"path参数"抽象是spring的
问题是我正在使用spring安全性,定义我自己的过滤器链:
http.addFilterBefore(...).addFilterAfter(myFilterNeedingPathParam) //series of filters
最后一个过滤器需要路径参数映射。我的想法是把拦截器放在前面,或者,如果你想的话,确保最后一个过滤器在后面执行。
有办法吗?
当在Spring InterceptorHandler中,检查请求的实际类时,你可能需要将请求转换为该类。还要查看该类的源代码,看看它是否从某种类型的ThreadLocal中提取该值。