是否可以使用通配符创建路由?

时间:2018-10-16 23:53:25

标签: java spring-boot routing h2 pivotal-cloud-foundry

是否可以启用所有属于特定上下文根目录的路由?

例如,假设我的上下文根如下:

myapp.apps.pivotal.com/head

我可以绑定一条将自动允许访问以下内容的路由吗?

myapp.apps.pivotal.com/head/login.do
myapp.apps.pivotal.com/head/login.jsp
myapp.apps.pivotal.com/head/test.do
myapp.apps.pivotal.com/head/test.do?jsessionid=0cca44ba4133b113
myapp.apps.pivotal.com/head/login.do?jsessionid=0bba7a7a788b31

对于上下文,我正在尝试使用H2数据库,但是在浏览器中连接该数据库时遇到了问题。我可以进入/h2-console页面,但是当我尝试发布到login.dotest.do时,它会不断抛出Whitelabel错误页面

1 个答案:

答案 0 :(得分:1)

如果您创建路线,请myapp.example.com/foo并将该路线映射到应用A。

例如:cf create-route my-space example.com --hostname myapp --path foo

myapp.example.com/foomyapp.example.com/foo/bar/foo下的任何内容的请求都将路由到应用A。

您确实需要知道CF上的上下文路径路由不会重写URL。因此,在上面的示例中,对myapp.example.com/foo/bar的请求正像/foo/bar一样传递到应用程序A。 /foo未被剥离。

配置应用程序A时,需要让其监听请求/foo/bar。如果它只是在听/bar,那么您会得到404。

如果您希望剥离/foo,Spring Boot可以为您完成。您只需要在server.contextPath=/foo中设置application.properties

就您的H2问题而言,没有足够的信息让我发表评论。如果上述方法没有帮助,请添加更多信息,例如尝试访问H2控制台时所看到的信息。 whitelabel错误页面上有有用的信息,所以绝对要分享。

希望有帮助!