URL spring 中的匹配器使用正则表达式启动
URL Matcher in spring boot with regular expression
我需要在 spring 启动时处理所有请求,除了少数使用单一处理程序方法的请求。
应提供的有效网址 -
/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;
}
但这不起作用。我认为我使用的正则表达式存在一些问题。
非常感谢任何帮助。
试试这个正则表达式:
^(?:(?!asset).)*$
我需要在 spring 启动时处理所有请求,除了少数使用单一处理程序方法的请求。
应提供的有效网址 -
/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;
}
但这不起作用。我认为我使用的正则表达式存在一些问题。
非常感谢任何帮助。
试试这个正则表达式:
^(?:(?!asset).)*$