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

在“/{path}”级别重写“host”和“basePath”

朱典
2023-03-14

问题陈述:

出于“奇怪”的原因,我们对API的所有操作都有不同的“主机”。我们有这样的API:

  • 操作1:获取https://host1:port1/api/resources

如果我们按原样使用Swagger/OpenAPI,就意味着每个操作创建一个Swagger/OpenAPI规范,从而使每个操作都有一个Swagger ui页面,然后需要重新创建一个索引页面来列出API的所有操作:-/这正是我们想要避免的。

问题:

1/此功能-在“/{path}”级别覆盖“host”和“basePath”是否有意义?

2/是否已经有人尝试在swagger-用户界面中实现此功能?

我是否可以/应该对OpenAPI提出这种更改?

欢迎任何其他有用的评论/意见;-)

共有2个答案

祖麻雀
2023-03-14

这在swagger 2.0规范中不受支持。它将在下一个版本中添加,因此无需添加提案!请参见此处:

https://github.com/OAI/OpenAPI-Specification/issues/562

姜学海
2023-03-14

OpenAPI 3.0现在支持在路径或操作级别重写目标服务器:

openapi: 3.0.0

servers:
  - url: https://my.api.com/v1

paths:
  /foo:
    # Override the server at path level
    servers:
      - url: https://another.server:8443/basePath

    get: ...
    post: ...

  /bar:
    get:
      # Override the server at operation level
      servers:
        - url: https://some.other.server/v2

    post: ...
 类似资料:
  • 本文向大家介绍重载和重写的区别?相关面试题,主要包含被问及重载和重写的区别?时的应答技巧和注意事项,需要的朋友参考一下 方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。 重载发生在一个类中,同名的方法如果有不同的参数列表(类型不同、个数不同、顺序不同)则视为重载。 重写发生在子类与父类之间,重写要求子类重写之后的方法与父类被重写方法有相同的返回

  • 问题内容: 我对这两个术语感到困惑。 另外,我应该怎么做才能在Spring MVC项目的src文件夹下创建文件?当我使用File对象创建文件时,它将在C:\ SpringSourceTool中创建文件。我猜这是ClassPath对吗? 无论如何,如何获取应用程序的文件夹或根目录? 问题答案: 在 构建路径 是用于构建应用程序。它包含所有源文件和编译应用程序所需的所有Java库。 的 类路径 被用于

  • 我正在尝试访问JBoss v4。2 MBean注册为 使用以下代码: 但此代码始终引发以下异常: 另一方面,我可以使用jmx控制台通过//localhost:8080/jmx控制台/-MBean可用。 通过代码访问同一MBean还需要什么?

  • 谁能告诉我Rsrc-class-Path和runnable-jar的清单文件的Class-Path部分之间有什么区别? 现在我认为它们是Eclipse生成的,但我想了解它是如何工作的。 根据Eclipse生成代码的方式,我认为第一个是关于我的应用程序需要的JAR,第二个总是

  • 有人能告诉我应该在哪里使用吗?应该在哪里使用@Path或? 最近我遇到了一个使用的代码,到目前为止,我一直在使用@path和来实现我的web服务。Webmethod的代码使用的是SOAP Web服务。 它与肥皂或Rest有关吗?或者Java或者J2EE? 我尝试过谷歌搜索,但到目前为止没有成功。

  • 这个简单的根资源类在Tomee+1.5.1上运行时失败,返回404错误“请求的资源不可用”。它在WEB-INF中打包为WAR with和空web.xml文件。 它进行部署,我在控制台输出中看到以下几行: 我还尝试用web.xml将其打包,该web.xml声明: 结果与空web.xml文件相同。