我经历了很多链接,例如如何在视图中显示所有控制器和映射以及如何为所有控制器配置默认的@RestController URI前缀?等等。
我想在过滤器拦截器处获取请求映射URL
例如:此URL是我在REST控制器方法中配置的,很自然,我们将通过/employees/employee-names/John它获得Employee John。
/employees/employee-names/John
/employees/employee-names/{employee_name}
现在,当有人点击/employees/employee-names/JohnREST控制器时/employees/employee- names/{employee_name},我想获取实际映射网址的值,
/employees/employee- names/{employee_name}
任何指针如何得到的?
我可以使用以下代码解决此问题。AntPathMatcher是识别属性文件中配置的传入请求和URL是否完全匹配的完美方法。该解决方案对我来说很有用。
AntPathMatcher
AntPathMatcher springMatcher = new AntPathMatcher(); Optional<String> antMatch = props.getMapping().stream() .filter(//Perform Some Filter as per need) .map(Mapping::getVersion) .findFirst(); return antMatch.isPresent() ? antMatch.get() : null;