SwaggerUI Docker 支持两个 api 文件(本地)
SwaggerUI Docker support for two api files (locally)
我正在尝试创建一个 Swagger UI 配置来显示我的几个 API。它们不是公开托管的,定义文件在我的本地文件系统中。我正在使用 swagger ui 和 docker。我使用以下命令 运行 它:
docker run -p 8080:8080 -v $(pwd)/_build:/spec swaggerapi/swagger-ui
在 _build
目录中有我的 yaml 规范文件。这是 swagger-config.yaml
配置文件:
urls:
- /spec/openapi2.yaml
- /spec/openapi.yaml
plugins:
- topbar
我也试过:
urls:
- url: /spec/openapi2.yaml
name: API1
- url: /spec/openapi.yaml
name: API2
plugins:
- topbar
完成运行后,我看到的是这样的:
这是 Swagger UI 的默认 API,所以我想我的配置有错误。我尝试了几种方法,但都没有用,而且我似乎没有找到任何关于 swagger-config.yaml
配置文件的好文档。
有没有办法让它与多个 API 一起使用?
根据 Swagger UI 问题跟踪器中的 comments,Docker 版本需要 JSON 格式的配置文件,而不是 YAML。
试试这个 swagger-config.json
:
{
"urls": [
{
"url": "/spec/openapi2.yaml",
"name": "API1"
},
{
"url": "/spec/openapi.yaml",
"name": "API2"
}
],
"plugins": [
"topbar"
]
}
同时将 -e CONFIG_URL=/path/to/swagger-config.json
添加到 docker run
命令中。
我正在尝试创建一个 Swagger UI 配置来显示我的几个 API。它们不是公开托管的,定义文件在我的本地文件系统中。我正在使用 swagger ui 和 docker。我使用以下命令 运行 它:
docker run -p 8080:8080 -v $(pwd)/_build:/spec swaggerapi/swagger-ui
在 _build
目录中有我的 yaml 规范文件。这是 swagger-config.yaml
配置文件:
urls:
- /spec/openapi2.yaml
- /spec/openapi.yaml
plugins:
- topbar
我也试过:
urls:
- url: /spec/openapi2.yaml
name: API1
- url: /spec/openapi.yaml
name: API2
plugins:
- topbar
完成运行后,我看到的是这样的:
这是 Swagger UI 的默认 API,所以我想我的配置有错误。我尝试了几种方法,但都没有用,而且我似乎没有找到任何关于 swagger-config.yaml
配置文件的好文档。
有没有办法让它与多个 API 一起使用?
根据 Swagger UI 问题跟踪器中的 comments,Docker 版本需要 JSON 格式的配置文件,而不是 YAML。
试试这个 swagger-config.json
:
{
"urls": [
{
"url": "/spec/openapi2.yaml",
"name": "API1"
},
{
"url": "/spec/openapi.yaml",
"name": "API2"
}
],
"plugins": [
"topbar"
]
}
同时将 -e CONFIG_URL=/path/to/swagger-config.json
添加到 docker run
命令中。