将 smallrye-open-api 与 Wildfly 20 和部署到同一服务器的多个 war 文件一起使用

Using smallrye-open-api with Wildfly 20 and multiple war files deployed to same server

我正在尝试将 smallrye-open-api (MicroProfile OpenAPI) 与 Wildfly 20 一起使用。我有多个 war 文件(模块)以独立模式部署在一个 Wildfly 实例上。是否可以指定带有 war 的文件应该被打开的 api 文档覆盖? 我正在努力,但遇到了 war那样的人

10:59:06,082 WARN  [org.wildfly.extension.microprofile.openapi.smallrye] (MSC service thread 1-5) [] WFLYMPOAI0003: MicroProfile OpenAPI endpoint already registered for host 'default-host'.  Skipping OpenAPI documentation of 'module-1.war'

对于我所有的模块。似乎 Wildfly 试图在第一次遇到的模块上随机注册 OpenAPI 端点。

已找到解决方案。在每个模块(war 文件)你应该添加文件

src/resources/META-INF/microprofile-config.properties

在此文件中指定唯一路径,其中应使用 属性

找到特定 war 的 OpenAPI
mp.openapi.extensions.path=/myWarOpenapiPath

或者如果模块(war 文件)不应包含在 OpenAPI 文档中,只需添加 属性

mp.openapi.extensions.enabled=false

一些信息可以在这里找到https://github.com/wildfly/wildfly/blob/master/docs/src/main/asciidoc/_admin-guide/subsystem-configuration/MicroProfile_OpenAPI.adoc