3.6. MicroProfile OpenAPI 管理
3.6.1. 启用 MicroProfile OpenAPI 复制链接链接已复制到粘贴板!
microprofile-openapi-smallrye 子系统在 standalone-microprofile.xml 配置中提供。但是,JBoss EAP XP 默认使用 standalone.xml。您必须在 standalone.xml 中包含子系统才能使用它。
或者,您也可以按照使用 MicroProfile 子系统和扩展更新独立配置 的步骤进行操作,以更新 standalone.xml 配置文件。
流程
在 JBoss EAP 中启用 MicroProfile OpenAPI smallrye 扩展:
/extension=org.wildfly.extension.microprofile.openapi-smallrye:add()使用以下管理命令启用
microprofile-openapi-smallrye子系统:/subsystem=microprofile-openapi-smallrye:add()重新加载服务器。
reload
microprofile-openapi-smallrye 子系统已启用。
3.6.2. 使用 Accept HTTP 标头请求 MicroProfile OpenAPI 文档 复制链接链接已复制到粘贴板!
使用 Accept HTTP 标头从部署请求 MicroProfile OpenAPI 文档。
默认情况下,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" ... }使用部署的 URL 和端口替换 http://localhost:8080。
Accept 标头指示将使用
application/json字符串返回 JSON 文档。
3.6.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 ...使用部署的 URL 和端口替换 http://localhost:8080。
HTTP 参数
format=JSON表示要返回 JSON 文档。
3.6.4. 配置 JBoss EAP 以提供静态 OpenAPI 文档 复制链接链接已复制到粘贴板!
配置 JBoss EAP 以提供描述主机的 REST 服务的静态 OpenAPI 文档。
当 JBoss EAP 配置为提供静态 OpenAPI 文档时,将在任何 Jakarta RESTful Web 服务和 MicroProfile OpenAPI 注解之前处理静态 OpenAPI 文档。
在生产环境中,在提供静态文档时禁用注解处理。禁用注解处理可确保客户端可以使用不可变和版本的 API 合同。
流程
在应用程序源树中创建目录:
$ mkdir APPLICATION_ROOT/src/main/webapp/META-INFAPPLICATION_ROOT 是包含应用的
pom.xml配置文件的目录。查询 OpenAPI 端点,将输出重定向到文件:
$ curl http://localhost:8080/openapi?format=JSON > src/main/webapp/META-INF/openapi.json默认情况下,端点提供 YAML 文档,
format=JSON指定返回 JSON 文档。配置应用程序,以便在处理 OpenAPI 文档模型时跳过注解扫描:
$ echo "mp.openapi.scan.disable=true" > APPLICATION_ROOT/src/main/webapp/META-INF/microprofile-config.properties重建应用程序:
$ mvn clean install使用以下管理 CLI 命令再次部署应用程序:
取消部署应用程序:
undeploy microprofile-openapi.war部署应用程序:
deploy APPLICATION_ROOT/target/microprofile-openapi.war
JBoss EAP 现在在 OpenAPI 端点上提供静态 OpenAPI 文档。
3.6.5. 禁用 microprofile-openapi-smallrye 复制链接链接已复制到粘贴板!
您可以使用管理 CLI 在 JBoss EAP XP 中禁用 microprofile-openapi-smallrye 子系统。
流程
禁用
microprofile-openapi-smallrye子系统:/subsystem=microprofile-openapi-smallrye:remove()