2

我与 MicroProfile OpenApi 注释发生了争执。当我在 Payara 或 OpenLiberty 上运行它时,我可以在http://localhost:8080/openapi访问 OpenApi 文档,如规范中所述。

这不适用于 WildFly 18 和 19 Beta 1,即使它声称支持 MP OpenApi。我想 TCK 会检查这一点,所以也许我做错了什么。

4

1 回答 1

3

看起来 OpenAPI 支持是通过WildFly 19 Beta 1添加的。不幸的是,wildfly.org 页面上的当前文档适用于 WildFly 18,并且不包含包含 OpenAPI 的管理指南。

不过,您可以在 GitHub 上.adoc找到OpenAPI 支持文件。根据这个文件的历史,它是在 2019 年 12 月添加的(这可能是我还没有进入主页文档的原因)。

OpenAPI 的当前文档声称是默认standalone-microprofile.xml配置的一部分,该文档可在http://localhost:8080获得。

如果您不使用此配置运行,您可以使用以下命令启用 OpenAPI 子系统(我使用 WildFly 19 Beta 1 进行了测试):

➜  bin ./jboss-cli.sh 
You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.
[disconnected /] connect
[standalone@localhost:9990 /] /extension=org.wildfly.extension.microprofile.openapi-smallrye:add()
{"outcome" => "success"}

[standalone@localhost:9990 /] /subsystem=microprofile-openapi-smallrye:add()
{
    "outcome" => "success",
    "response-headers" => {
        "operation-requires-reload" => true,
        "process-state" => "reload-required"
    }
}

[standalone@localhost:9990 /] 

请注意:如果您尝试在浏览器中通过http://localhost:8080/openapi访问它,您可能会收到 406 - Not Acceptable。只需请求正确的内容类型或使用cURL

curl -v http://localhost:8080/openapi // YAML output
curl -v http://localhost:8080/openapi?format=JSON  // JSON output
于 2020-01-25T05:19:21.083 回答