mirror of
https://github.com/ditkrg/rswag.git
synced 2026-01-23 06:16:42 +00:00
61 lines
1.8 KiB
Ruby
61 lines
1.8 KiB
Ruby
require 'rails_helper'
|
|
|
|
RSpec.configure do |config|
|
|
# Specify a root folder where Swagger JSON files are generated
|
|
# NOTE: If you're using the rswag-api to serve API descriptions, you'll need
|
|
# to ensure that it's configured to serve Swagger from the same folder
|
|
config.swagger_root = Rails.root.to_s + '/swagger'
|
|
|
|
# Define one or more Swagger documents and provide global metadata for each one
|
|
# When you run the 'rswag:specs:to_swagger' rake task, the complete Swagger will
|
|
# be generated at the provided relative path under swagger_root
|
|
# By default, the operations defined in spec files are added to the first
|
|
# document below. You can override this behavior by adding a swagger_doc tag to the
|
|
# the root example_group in your specs, e.g. describe '...', swagger_doc: 'v2/swagger.json'
|
|
config.swagger_docs = {
|
|
'v1/swagger.json' => {
|
|
swagger: '2.0',
|
|
info: {
|
|
title: 'API V1',
|
|
version: 'v1'
|
|
},
|
|
paths: {},
|
|
definitions: {
|
|
errors_object: {
|
|
type: 'object',
|
|
properties: {
|
|
errors: { '$ref' => '#/definitions/errors_map' }
|
|
}
|
|
},
|
|
errors_map: {
|
|
type: 'object',
|
|
additionalProperties: {
|
|
type: 'array',
|
|
items: { type: 'string' }
|
|
}
|
|
},
|
|
blog: {
|
|
type: 'object',
|
|
properties: {
|
|
id: { type: 'integer' },
|
|
title: { type: 'string' },
|
|
content: { type: 'string', 'x-nullable': true },
|
|
thumbnail: { type: 'string'}
|
|
},
|
|
required: [ 'id', 'title', 'content', 'thumbnail' ]
|
|
}
|
|
},
|
|
securityDefinitions: {
|
|
basic_auth: {
|
|
type: :basic
|
|
},
|
|
api_key: {
|
|
type: :apiKey,
|
|
name: 'api_key',
|
|
in: :query
|
|
}
|
|
}
|
|
}
|
|
}
|
|
end
|