Support setting examples for response

Add helper method `response_examples` to inject response examples to swagger
This commit is contained in:
vinhbachsy 2016-10-18 21:44:04 +08:00
parent 3506fee3d0
commit 10dd37896f
2 changed files with 11 additions and 1 deletions

View File

@ -25,7 +25,7 @@ module Rswag
# functionality while also setting the appropriate metadata if applicable
def description(value=nil)
return super() if value.nil?
metadata[:operation][:description] = value
metadata[:operation][:description] = value
end
# These are array properties - note the splat operator
@ -61,6 +61,10 @@ module Rswag
metadata[:response][:headers][name] = attributes
end
def response_examples(example)
metadata[:response][:examples] = example
end
def run_test!
# NOTE: rspec 2.x support
if RSPEC_VERSION < 3

View File

@ -52,6 +52,12 @@ describe 'Blogs API', type: :request, swagger_doc: 'v1/swagger.json' do
response '200', 'blog found' do
schema '$ref' => '#/definitions/blog'
response_examples 'application/json' => {
id: 1,
title: 'Hello world!',
content: 'Hello world and hello universe. Thank you all very much!!!'
}
let(:blog) { Blog.create(title: 'foo', content: 'bar') }
let(:id) { blog.id }
run_test!