小编典典

执行请求时,如何获取在控制器层配置的当前请求映射URL?

spring-boot

我经历了很多链接,例如如何在视图中显示所有控制器和映射以及如何为所有控制器配置默认的@RestController
URI前缀?等等。

我想在过滤器拦截器处获取请求映射URL

例如:此URL是我在REST控制器方法中配置的,很自然,我们将通过/employees/employee-names/John它获得Employee
John。

/employees/employee-names/{employee_name}

现在,当有人点击/employees/employee-names/JohnREST控制器时/employees/employee- names/{employee_name},我想获取实际映射网址的值,

任何指针如何得到的?


阅读 521

收藏
2020-05-30

共1个答案

小编典典

我可以使用以下代码解决此问题。AntPathMatcher是识别属性文件中配置的传入请求和URL是否完全匹配的完美方法。该解决方案对我来说很有用。

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;
2020-05-30