Установка и настройка Swagger UI

колонирование с GitHub

git clone https://github.com/swagger-api/swagger-ui.git

перейти в директорию клона:

cd swagger-ui/

установка зависимостей

npm install

тестовый запуск для проверки

npm start

в данном случае Swagger UI доступен по адресу: http://127.0.0.1:3002

изменение адреса файла конфигурации:
файл: dist/swagger-initializer.js
параметр: url

// ...
  window.ui = SwaggerUIBundle({
    url: "https://petstore.swagger.io/v2/swagger.json",
    dom_id: '#swagger-ui',
// ...

изменение порта:
файл: package.json
параметр: scripts.serve-static

...
    "security-audit:all": "npm-audit-ci-wrapper -t moderate",
    "serve-static": "ws -d dist/ --hostname 0.0.0.0 -p 3002",
    "start": "npm-run-all --parallel serve-static open-static"
  },
 ...

один из способов скрытия верхней строки указания адреса конфигурации:
открыть файл: dist/index.css
добавить:

form.download-url-wrapper {
  display: none !important;
}

для того, чтобы по умолчанию отображалась закладка Model:
открыть файл: dist/swagger-initializer.js
добавить параметр:

// ...
    defaultModelRendering: 'model'
  });
// ...

 

Пример настройки NGINX для вывода Swagger на адрес https://exampla.com/swagger/:

server {
	listen	443 ssl;
# ...

    gzip_types      text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss;

    location /swagger/ {
        proxy_pass http://127.0.0.1:3002;
        proxy_redirect http://127.0.0.1:3002 /;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        access_log off;
        rewrite ^/swagger/(.*)$ /$1 break;
    }
	
	location / {

# ...
}