容器部署 Swagger API 服务

发布时间: 更新时间: 总字数:146 阅读时间:1m 作者: 分享

使用容器部署 Swagger API 服务,并支持多个 json 文件切换。

API 格式

使用

docker pull swaggerapi/swagger-ui:v3.52.3

docker run -d -p 8080:8080 \
  --name swagger-ui \
  #-e BASE_URL=/swagger \
  #-e SWAGGER_JSON=/foo/swagger.json \
  #-v /data/swagger:/foo \
  -e URLS="[ { url: \"http://petstore.swagger.io/v2/swagger.json\", name: \"Petstore-1\" }, { url: \"http://petstore.swagger.io/v2/swagger.json\", name: \"Petstore-2\" } ]" \
  -e SUPPORTED_SUBMIT_METHODS=['get', 'post', 'put', 'delete'] \
  swaggerapi/swagger-ui:v3.52.3

说明:

  • BASE_URL 访问 url 的 subpath
  • 访问 http://localhost:8080/?urls.primaryName=Petstore-2 即是 Petstore-2 对应的 json 文件

swagger ui

进入容器:

docker exec -it swagger-ui sh

相关目录:

  • /etc/nginx/conf.d
  • /usr/share/nginx/html

FAQ

跨域问题

修改 Nginx 配置文件后重启容器:

server {
    ...

    location / {
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
        add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Sinc
        ...

参考

  1. https://github.com/swagger-api/swagger-ui
  2. https://mermade.github.io/openapi-gui/
最新评论
加载中...
Home Archives Categories Tags