当前位置: 首页 > 知识库问答 >
问题:

Quarkus:提供多个OpenAPI/Swagger-UIendpoint

龙嘉誉
2023-03-14

在我的项目中,我包含了openapi依赖项,并让Quarkus生成openapi定义。是否可以将版本0的endpoint分组为一个定义,其余的endpoint分组为另一个定义?
我有一个设置,可以浏览到example.com/v0/docs/或example.com/v1/docs/。在不同版本中启动两个API实例很容易,但我认为不改变端口是不可能的。我希望所有endpoint都可以在同一个端口上访问。
遗憾的是,我找不到使用Quarkus的场景的示例。

如果这是不可能的,那么在一个定义中有v0和v1endpoint会是一个好的做法吗?在我看来很奇怪。但也许那只是我。

共有1个答案

巫马翰翮
2023-03-14

答案是否定的,就我所见。

Quarkus降低了部署和操作的复杂性,但代价是您无法获得功能齐全的应用服务器所提供的所有自由(比如在不同的URL下部署同一应用程序的两个版本)。

但是:由于Quarkus是“容器优先”,您应该能够将v0和v1部署在不同的容器中,监听不同的端口,但是被上游web服务器(如Apache或Nginx)合并到相同的URL结构中。

 类似资料:
  • 使用OpenApi比Swagger的实际优势是什么? 我是openApi技术的新手,只是想知道openApi中有什么比Swagger更多的特性。网上的文件对我没有帮助。有人能帮帮我吗。

  • 我有一个简单的引导应用程序,其中我添加了开放api swagger依赖项 以及这些属性 我收到这些错误(在呼叫时http://localhost:8080/swagger-用户界面/索引。html): 这是我的控制器: 知道吗?

  • 有没有人对Swagger Codegen有一些经验?目前,我正在努力执行Swagger Codegen CLI。在本教程之后,我首先尝试通过OpenAPI生成器生成Dart代码:https://clearpoint.digital/blog/accelerate-flutter-development-with-contract-first-openapi-and-dart-code-genera

  • 当我访问我的Swagger UIendpoint时,我会看到这个服务的记录良好的条目,包括关于和参数的信息。现在,我试图以类似的方式创建和方法,但遇到了一个问题。 由于我的/请求包含许多表单参数,所以我将它们封装到一个对象中,并用注释该方法。我的表单对象如下所示: 我的方法如下所示: 什么也没做。我尝试将方法签名更改为如下所示: 还是什么都没有。我的问题是,是否有一种方法可以让OpenAPI/Sw

  • 我正在尝试访问Datasource对象,但它总是给出null,我正在使用@Inject,请告诉我我做错了什么? 它总是给空AgroalDataSource广告对象,为什么它不工作,我做错了什么吗? 它给出了以下错误: 2021-02-23 18:23:08,029ERROR[systemLogger](Quarkus主线程)DataSource不能为空:java.lang.IllegalArgum

  • 我希望在OpenAPI中表示以下JSON对象: 属性的数量和属性名称不是完全预先确定的,所以我希望使用additionalProperties。然而,我不太确定它将如何通过OpenAPI/Swagger 2.0来表示。我试过这个: 或JSON等价物: 但这不太管用。有没有办法保持我想要表示的JSON对象的结构,特别是字符串和整数,而不是任意对象类型?