Vaadin 14 如何将 vaadin servlet 移动到不同的 URL?
Vaadin 14 how to move the vaadin servlet to a different URL?
我有一个非常基本的 vaadin 应用程序 运行。该应用程序是 spring-boot 支持的,我定义了一些 rest API.
我已经使用 org.springdoc:springdoc-openapi-ui:1.4.4 添加了 OpenAPI 文档,在添加 vaadin 之前效果很好。
如 vaadin spring-boot 教程中所示添加 vaadin 依赖项并创建视图(有效)后,swagger UI 不再可用。
在我看来,vaadin 完全接管了所有网络请求。深入挖掘,我发现 vaadin 注册了一个新的 servlet 并捕获了所有请求。
我没有找到任何关于如何配置它的文档——我希望有人可以配置 vaadin 以便它从不同的路径服务 UI,比如说 /ui
或类似的.
我试过设置
vaadin:
url-mapping: "/ui/*"
在我的 application.yaml
中——但这会导致我的 vaadin 视图出现空白页面(没有错误),
并且 vaadin servlet 仍然接管 /
.
我用spring.boot 2.3.2.RELEASE
, vaadin 14.3.1
.
要覆盖的值是(注意驼峰式而不是 kebab-case):
vaadin:
urlMapping: /ui/*
使用 kebab-case 确实(确实)不 起作用。不出所料,这是一个错误。参见 https://github.com/vaadin/spring/issues/637
来自当时的文档:
You can set properties for Spring Boot in your application.properties
file.
Example: Setting Spring URL mapping in application.properties
.
vaadin.urlMapping=/my_mapping/*
By default, URL mapping is /*
.
An additional servlet, such as /my_mapping/*
, is required to handle the frontend resources for non-root servlets. The servlet can be defined in your application class. See this Application class for a example.
我有一个非常基本的 vaadin 应用程序 运行。该应用程序是 spring-boot 支持的,我定义了一些 rest API.
我已经使用 org.springdoc:springdoc-openapi-ui:1.4.4 添加了 OpenAPI 文档,在添加 vaadin 之前效果很好。
如 vaadin spring-boot 教程中所示添加 vaadin 依赖项并创建视图(有效)后,swagger UI 不再可用。
在我看来,vaadin 完全接管了所有网络请求。深入挖掘,我发现 vaadin 注册了一个新的 servlet 并捕获了所有请求。
我没有找到任何关于如何配置它的文档——我希望有人可以配置 vaadin 以便它从不同的路径服务 UI,比如说 /ui
或类似的.
我试过设置
vaadin:
url-mapping: "/ui/*"
在我的 application.yaml
中——但这会导致我的 vaadin 视图出现空白页面(没有错误),
并且 vaadin servlet 仍然接管 /
.
我用spring.boot 2.3.2.RELEASE
, vaadin 14.3.1
.
要覆盖的值是(注意驼峰式而不是 kebab-case):
vaadin:
urlMapping: /ui/*
使用 kebab-case 确实(确实)不 起作用。不出所料,这是一个错误。参见 https://github.com/vaadin/spring/issues/637
来自当时的文档:
You can set properties for Spring Boot in your
application.properties
file.Example: Setting Spring URL mapping in
application.properties
.vaadin.urlMapping=/my_mapping/*
By default, URL mapping is
/*
.An additional servlet, such as
/my_mapping/*
, is required to handle the frontend resources for non-root servlets. The servlet can be defined in your application class. See this Application class for a example.