请求执行时如何获取当前Controller层配置的请求映射URL?

2024-03-02

我浏览了很多链接,例如如何在视图中显示所有控制器和映射 https://stackoverflow.com/questions/9766800/how-to-show-all-controllers-and-mappings-in-a-view and 如何为所有控制器配置默认的 @RestController URI 前缀? https://stackoverflow.com/questions/34801351/how-to-configure-a-default-restcontroller-uri-prefix-for-all-controllers等等。

我想在 Filter 拦截器中获取请求映射 URL

例如:这个 URL 我在 REST 控制器方法中配置,自然我们会传递/employees/employee-names/John找到员工约翰。

/employees/employee-names/{employee_name}

现在,当有人打/employees/employee-names/John如果 REST 控制器,我想获取实际映射 url 的值/employees/employee-names/{employee_name},

有什么指示如何获得吗?


Spring MVC 设置属性HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE,您可以使用它来获取用于匹配传入请求的模式:

String matchingPattern = (String) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE)

那会返回/employees/employee-names/{employee_name}在你的情况下。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

请求执行时如何获取当前Controller层配置的请求映射URL? 的相关文章

随机推荐