问题陈述:
对于一个"奇怪的"原因是,我们API的所有操作都有不同的主机"。我们有这样的API:
如果按原样使用Swagger / OpenAPI,则意味着每个操作创建一个Swagger / OpenAPI规范,每个操作都有一个swagger-ui页面,然后需要重新创建索引页面以列出所有API的操作: - /这正是我们想要避免的。
问题:
1 /这个功能 - 覆盖"主机"和" basePath"在" / {path}"水平 - 有意义吗?
2 /有人已经尝试在swagger-ui中实现此功能吗?
3 /我能否/我应该对OpenAPI提出这种改变?
欢迎任何其他有用的评论/评论; - )
答案 0 :(得分:4)
swagger 2.0规范不支持此功能。它将添加到下一个版本中,因此无需添加提案!见这里:
答案 1 :(得分:2)
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: ...