首页 > 解决方案 > 带有正则表达式的 Spring Boot 中的 URL 匹配器

问题描述

我需要在 Spring Boot 中使用单一处理程序方法处理所有请求,除了少数请求。

应提供的有效网址 -

/test/login
/test/dashboard
/test/validate/details

不应提供的无效网址是 -

/test/asset/login
/test/asset
/test/validate/asset

基本上任何包含字符串“asset”的 URL 都不应该被处理。

到目前为止,我正在尝试如下,但它不起作用 -

@GetMapping("test/{path:^(?!.*(asset))}")
    String hello(String path){
        return "hello>>" + path;
    }

但这不起作用。我认为我正在使用的正则表达式存在一些问题。

任何帮助深表感谢。

标签: regexspring-bootspring-mvcget-mapping

解决方案


试试这个正则表达式:

^(?:(?!asset).)*$

推荐阅读