Regex 如何仅匹配/[^/]和#x2B;使用Spring@RequestMapping?

Regex 如何仅匹配/[^/]和#x2B;使用Spring@RequestMapping?,regex,spring,spring-boot,spring-data-jpa,Regex,Spring,Spring Boot,Spring Data Jpa,我需要以下资料: 任何要求 等等,应该转发给 现在,我就是这样做到的: @Controller public class ForwardController { @RequestMapping(value = "/*", method = RequestMethod.GET) public String redirectRoot(HttpServletRequest request) { return "forward:/a/web/index.ht

我需要以下资料:

任何要求

等等,应该转发给

现在,我就是这样做到的:

@Controller
public class ForwardController {
    @RequestMapping(value = "/*", method = RequestMethod.GET)
    public String redirectRoot(HttpServletRequest request) {
        return "forward:/a/web/index.html";
    }
}
问题是: 这也匹配(请注意末尾的/)

这是一个问题,因为我希望Spring数据库的路径是:

spring.data.rest.base路径=/api/
/api!=/api/
当涉及REST端点时

什么应该起作用,但不知何故不起作用 我尝试了几种不同的正则表达式,但仍然无法实现我想要的。例如():

现在可以处理Spring数据了——我得到了我期望的所有资源信息,但是访问现在中断了,无法再访问web客户端

同样的道理也适用于

@RequestMapping(value = "/{path}", method = RequestMethod.GET)
@RequestMapping(value = "/{path:[^/]+}", method = RequestMethod.GET)
其行为类似于
/*
(也与下一个
/
匹配)

这个问题已经困扰我好几个星期了,仍然没有解决方案


整个问题也可以看作:


为什么
“/[^/]+”
不匹配?

正则表达式通常不是最快的尝试。 您可以向发送路径列表

 @RequestMApping(value={"", "/", "/test", "/api"},  method = RequestMethod.GET)

参见

正则表达式通常不是最快的尝试。 您可以向发送路径列表

 @RequestMApping(value={"", "/", "/test", "/api"},  method = RequestMethod.GET)

你看到这个了吗@NestorSokil嗯,我不认为这个答案能帮到我。仅仅添加一个匹配所有不匹配项的端点在这里并没有帮助-实际上这就是问题所在。您看到了吗@NestorSokil嗯,我不认为这个答案能帮到我。仅仅添加一个匹配所有不匹配的端点在这里没有帮助-这实际上是问题所在。抱歉,这不是我正在寻找的通用解决方案。抱歉,这不是我正在寻找的通用解决方案。