java - Vaadin 14 如何将 vaadin servlet 移动到不同的 URL?

标签 java spring-boot vaadin vaadin-flow vaadin14

我有一个非常基本的 vaadin 应用程序正在运行。该应用程序由 spring-boot 支持,我定义了一些 rest API。

我已经使用 org.springdoc:springdoc-openapi-ui:1.4.4 添加了 OpenAPI 文档,它在添加 vaadin 之前运行良好。

如 vaadin spring-boot 教程中所示添加 vaadin 依赖项并创建 View (有效)后,无法再访问 swagger UI。

在我看来,vaadin 完全接管了所有网络请求。深入挖掘,我发现 vaadin 注册了一个新的 servlet 并捕获了所有请求。

我没有找到任何关于如何配置它的文档——我希望有人可以配置 vaadin 以便它从不同的路径提供 UI,比如 /ui 或类似的。

我试过设置

vaadin:
   url-mapping: "/ui/*"

在我的 application.yaml 中——但这会导致我的 vaadin View 出现空白页面(没有错误), 并且 vaadin servlet 仍然接管 /

我使用 spring.boot 2.3.2.RELEASE,vaadin 14.3.1

最佳答案

要覆盖的值是(注意驼峰式而不是烤肉串):

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.


来源:https://vaadin.com/docs/v14/flow/spring/tutorial-spring-configuration.html#using-spring-boot-properties

关于java - Vaadin 14 如何将 vaadin servlet 移动到不同的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63396205/

相关文章:

java - 从数据库中检索特定数据并显示

authentication - 如何在 Vaadin 应用程序中使用单点登录

带有 JPA : move @Entity to different package 的 Spring Boot

重新启动 Vaadin 应用程序时抛出 java.io.NotSerializedException

javascript - 如何在Web应用程序中实现 'save as'按钮

java - 如何使用 Apache BEAM 在 BigQuery 中执行快速联接

java - 我如何在 Intellij 中搜索和替换结构

java - 使用 HttpClient 获取请求属性

java - Spring - 无法读取 HTTP 消息。缺少必需的请求正文

java - native 镜像的 Spring Boot 构建镜像失败