仓库指标
- Star
- (25,447 star)
- PR 合并指标
- (平均合并 20小时 34分钟) (30 天内合并 14 个 PR)
描述
Q&A (please complete the following information)
- OS: Archlinux
- Browser: Firefox
- Version: 76
- Method of installation: Docker
- Swagger-UI version: 3.25.3
- Swagger/OpenAPI version: OpenAPI 3.0
Content & configuration
Swagger-UI configuration options: I tried both yaml and json:
---
urls:
- name: Master API
url: specs/master.yaml
- name: Bot API
url: specs/bot.yaml
{
"urls": [
{
"name": "Master API",
"url": "specs/master.yaml"
},
{
"name": "Bot API",
"url": "specs/bot.yaml"
}
]
}
I looked at the swagger-config.yaml from this repository for reference.
Describe the bug you're encountering
I have a micro service system with various swagger-specified APIs. My goal was to create a dedicated application, that integrates all the swagger documentation. ron in IRC suggested to use the urls option to configure multuple spec URLs to be selected. So I pulled the swaggerapi/swagger-ui:v3.25.3 image, copied my files in specified the URLS environment variable. As expected: The swagger UI shows the first URL in the list by default and allows to switch between the URLs using a selection in the header. Because we have many APIs, I then tried to use a custom swagger-config.yaml by copying it into the container and specifying CONFIG_URL=swagger-config.yaml with the contents from above.
The UI seems to load the correct swagger-config.yaml (or .json) file, but it still shows the default petstore spec, apparently ignoring the provided urls option.
To reproduce...
Steps to reproduce the behavior:
- Copy a swagger spec to
/usr/share/nginx/html/specs/inside theswaggerapi/swagger-ui:v3.25.3image - Copy a
swagger-config.yamlto/usr/share/nginx/html/swagger-config.yamlwith the following content:--- urls: - name: Spec url: specs/<spec file name> - Add
ENV CONFIG_URL=swagger-config.yamlto the Dockerfile (or set it while running the container) - Open the swagger UI in the browser
Expected behavior
I'd expect to see the spec from the configured URL