This is an example use of SwaggerUiEngine gem inside a Rails API only project.
SwaggerUIEngine | Ruby | Rails versions |
---|---|---|
1.1.1 | 2.4.0 | 5.1.5 |
gem 'swagger_ui_engine'
# config/initializers/swagger_ui_engine.rb
SwaggerUiEngine.configure do |config|
config.swagger_url = {
v1: '/doc/v1/swagger.yaml',
v2: '/doc/v2/swagger.yaml'
}
config.doc_expansion = 'full'
config.model_rendering = 'model'
config.validator_enabled = true
config.admin_username = 'admin'
config.admin_password = 'password'
end
# config/routes.rb
Rails.application.routes.draw do
mount SwaggerUiEngine::Engine, at: '/'
end
Swagger Petstore minimal YAML documentation
# public/doc/v1/swagger.yaml
---
swagger: "2.0"
info:
version: "1.0.0"
title: "Swagger Petstore"
...
The username and password for basic auth are: admin
and password
- as defined in the example configuration.