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

标签 java spring-boot routes h2 cloud-foundry

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

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

myapp.apps.pivotal.com/head

我可以绑定(bind)一条自动允许访问以下内容的路由吗:

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 页面,但是当我尝试 POST 到 login.dotest.do 时,它不断抛出白标错误页面

最佳答案

如果您创建一条路由,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 的请求将被传递到应用程序 A,即 /foo/bar/foo 没有被剥离。

当您配置应用程序 A 时,您需要让它监听请求 /foo/bar。如果它只是监听 /bar 你会得到一个 404。

如果您希望从 Spring Boot 中删除 /foo ,Spring Boot 可以为您做到这一点。您只需在 application.properties 中设置 server.contextPath=/foo 即可。

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

希望有帮助!

关于java - 是否可以使用通配符创建路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52845472/

相关文章:

java - 是否每次执行 java 命令都会启动一个单独的 JVM?

java - 错误: cannot be resolved to a type

java - 在 Heroku 中使用 Spring Boot 应用程序发送电子邮件

java - 无法使用 openapi-generator-gradle-plugin 生成接口(interface)

Node.js - 在路由中表达特殊字符 (/campañas)

Java 邮件延迟

java - 从在 R 中创建的 pmml 在 Scala/Java 中加载模型

java - spring boot更改jackson依赖版本

ruby-on-rails - 为什么 Devise 使用自定义路由创建不正确的丢失密码 POST 路径

routes - 如何在 rails 4 中重新加载路由/config/routes/*?