Quarkus 应用程序 - 添加基本路径到 OpenAPI 定义

Posted

技术标签:

【中文标题】Quarkus 应用程序 - 添加基本路径到 OpenAPI 定义【英文标题】:Quarkus application - add base path to OpenAPI definition 【发布时间】:2021-12-18 18:24:36 【问题描述】:

我目前正在开发基于 Quarkus 的 API,该 API 将托管在 API 网关上,该网关要求我们的应用程序使用基本路径运行,我通过在 application.properties 中设置 quarkus.resteasy.path 发现了这一点可以使用基本路径运行应用程序,并且它会自动添加到规范中。

我正在使用 org.eclipse.microprofile.openapi.annotations 生成 OpenAPI 3 规范。我的问题是,在规范中,这个基本路径被添加到每一个操作中。相反,我试图只在 servers 声明中应用基本路径,基本上就像在 OpenAPI 2.0 中的 basePath 一样。

目前的结果:

servers:
- url: https://dev.example.com
  description: Development
- url: https://example.com
  description: Production
security:
- jwt: []
paths:
  /api/capacity/availability:
    get:
      ...
  /api/capacity/consume:
    post:
      ...

期望的结果:

servers:
- url: https://dev.example.com/api
  description: Development
- url: https://example.com/api
  description: Production
security:
- jwt: []
paths:
  /capacity/availability:
    get:
      ...
  /capacity/consume:
    post:
      ...

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

你也可以使用config来设置服务器:quarkus.smallrye-openapi.servers

见https://quarkus.io/guides/openapi-swaggerui#quarkus-smallrye-openapi_quarkus.smallrye-openapi.servers

【讨论】:

以上是关于Quarkus 应用程序 - 添加基本路径到 OpenAPI 定义的主要内容,如果未能解决你的问题,请参考以下文章

在本机编译期间,如何在 Quarkus maven 插件中将参数添加到 GraalVM?

使用 Debezium 的 Quarkus 发件箱模式:如何将自定义列添加到发件箱表

为啥不将 Mybatis 集成到 quarkus 系统中呢?

Quarkus 部署到 Google Cloud App 引擎失败

具有应用程序管理持久性的 quarkus

Quarkus 系统日志消息格式