3.7. MicroProfile OpenAPI 管理


3.7.1. 启用 MicroProfile OpenAPI

microprofile-openapi-smallrye 子系统在 standalone-microprofile.xml 配置中提供。但是,JBoss EAP XP 默认使用 standalone.xml。您必须在 standalone.xml 中包含子系统才能使用它。

或者,您可以按照 使用 MicroProfile 子系统和扩展更新独立配置 的流程来更新 standalone.xml 配置文件。

流程

  1. 在 JBoss EAP 中启用 MicroProfile OpenAPI smallrye 扩展:

    /extension=org.wildfly.extension.microprofile.openapi-smallrye:add()
    Copy to Clipboard Toggle word wrap
  2. 使用以下管理命令启用 microprofile-openapi-smallrye 子系统:

    /subsystem=microprofile-openapi-smallrye:add()
    Copy to Clipboard Toggle word wrap
  3. 重新加载服务器。

    reload
    Copy to Clipboard Toggle word wrap

microprofile-openapi-smallrye 子系统已启用。

使用 Accept HTTP 标头从部署请求一个 MicroProfile OpenAPI 文档,采用 JSON 格式。

默认情况下,OpenAPI 端点会返回 YAML 文档。

先决条件

  • 正在查询的部署被配置为返回 MicroProfile OpenAPI 文档。

流程

  • 发出以下 curl 命令查询部署的 /openapi 端点:

    $ curl -v -H'Accept: application/json' http://localhost:8080/openapi
    < HTTP/1.1 200 OK
    ...
    {"openapi": "3.0.1" ... }
    Copy to Clipboard Toggle word wrap

    使用部署的 URL 和端口替换 http://localhost:8080。

    Accept 标头指示将使用 application/json 字符串返回 JSON 文档。

3.7.3. 使用 HTTP 参数请求 MicroProfile OpenAPI 文档

使用 HTTP 请求中的查询参数,从部署请求以 JSON 格式请求 MicroProfile OpenAPI 文档。

默认情况下,OpenAPI 端点会返回 YAML 文档。

先决条件

  • 正在查询的部署被配置为返回 MicroProfile OpenAPI 文档。

流程

  • 发出以下 curl 命令查询部署的 /openapi 端点:

    $ curl -v http://localhost:8080/openapi?format=JSON
    < HTTP/1.1 200 OK
    ...
    Copy to Clipboard Toggle word wrap

    使用部署的 URL 和端口替换 http://localhost:8080。

    HTTP 参数 format=JSON 表示要返回 JSON 文档。

3.7.4. 配置 JBoss EAP 以提供静态 OpenAPI 文档

配置 JBoss EAP 以提供描述主机的 REST 服务的静态 OpenAPI 文档。

当 JBoss EAP 配置为提供静态 OpenAPI 文档时,将在任何 Jakarta RESTful Web 服务和 MicroProfile OpenAPI 注解之前处理静态 OpenAPI 文档。

在生产环境中,在提供静态文档时禁用注解处理。禁用注解处理可确保客户端可以使用不可变和版本的 API 合同。

流程

  1. 在应用程序源树中创建目录:

    $ mkdir APPLICATION_ROOT/src/main/webapp/META-INF
    Copy to Clipboard Toggle word wrap

    APPLICATION_ROOT 是包含应用的 pom.xml 配置文件的目录。

  2. 查询 OpenAPI 端点,将输出重定向到文件:

    $ curl http://localhost:8080/openapi?format=JSON > src/main/webapp/META-INF/openapi.json
    Copy to Clipboard Toggle word wrap

    默认情况下,端点提供 YAML 文档,format=JSON 指定返回 JSON 文档。

  3. 配置应用程序,以便在处理 OpenAPI 文档模型时跳过注解扫描:

    $ echo "mp.openapi.scan.disable=true" > APPLICATION_ROOT/src/main/webapp/META-INF/microprofile-config.properties
    Copy to Clipboard Toggle word wrap
  4. 重建应用程序:

    $ mvn clean install
    Copy to Clipboard Toggle word wrap
  5. 使用以下管理 CLI 命令再次部署应用程序:

    1. 取消部署应用程序:

      undeploy microprofile-openapi.war
      Copy to Clipboard Toggle word wrap
    2. 部署应用程序:

      deploy APPLICATION_ROOT/target/microprofile-openapi.war
      Copy to Clipboard Toggle word wrap

JBoss EAP 现在在 OpenAPI 端点上提供静态 OpenAPI 文档。

3.7.5. 禁用 microprofile-openapi-smallrye

您可以使用管理 CLI 在 JBoss EAP XP 中禁用 microprofile-openapi-smallrye 子系统。

流程

  • 禁用 microprofile-openapi-smallrye 子系统:

    /subsystem=microprofile-openapi-smallrye:remove()
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat