如何解决Vaadin 14如何将vaadin Servlet移至其他URL?
我正在运行一个非常基本的vaadin应用程序。该应用程序具有春季启动支持,我定义了一些其他API。
我已经使用org.springdoc:springdoc-openapi-ui:1.4.4添加了OpenAPI文档,该文档在添加vaadin之前效果很好。
按照vaadin spring-boot教程中所示添加vaadin依赖关系并创建视图(有效)后,无法再使用swagger UI。
在我看来,vaadin完全接管了所有Web请求。深入研究,我发现vaadin注册了一个新的servlet并捕获了所有请求。
我没有找到有关如何配置它的任何文档-我希望有人可以配置vaadin,使其从另一条路径(例如/ui
或类似路径)提供UI。
我尝试设置
vaadin:
url-mapping: "/ui/*"
在我的application.yaml
中–但这会导致我的vaadin视图空白页(无错误),
并且vaadin Servlet仍会接管/
。
我使用spring.boot 2.3.2.RELEASE
,vaadin 14.3.1
。
解决方法
要覆盖的值是(请注意camelCase而不是kebab-case):
vaadin:
urlMapping: /ui/*
使用烤肉串包装(确实)无效。不出所料,这是一个错误。参见https://github.com/vaadin/spring/issues/637
从当时的文档来看:
您可以在
application.properties
文件中设置Spring Boot的属性。示例:在
application.properties
中设置Spring URL映射。vaadin.urlMapping=/my_mapping/*
默认情况下,URL映射为
/*
。需要一个附加的servlet,例如
/my_mapping/*
来处理非根servlet的前端资源。可以在您的应用程序类中定义servlet。有关示例,请参见此Application class。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。