fix: Swagger 2.0 Response.examples (via #5464)
This commit is contained in:
@@ -136,10 +136,18 @@ export default class Response extends React.Component {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
sampleResponse = schema ? getSampleSchema(schema.toJS(), activeContentType, {
|
if(response.getIn(["examples", activeContentType])) {
|
||||||
includeReadOnly: true,
|
sampleResponse = response.getIn(["examples", activeContentType])
|
||||||
includeWriteOnly: true // writeOnly has no filtering effect in swagger 2.0
|
} else {
|
||||||
}) : null
|
sampleResponse = schema ? getSampleSchema(
|
||||||
|
schema.toJS(),
|
||||||
|
activeContentType,
|
||||||
|
{
|
||||||
|
includeReadOnly: true,
|
||||||
|
includeWriteOnly: true // writeOnly has no filtering effect in swagger 2.0
|
||||||
|
}
|
||||||
|
) : null
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let example = getExampleComponent( sampleResponse, HighlightCode )
|
let example = getExampleComponent( sampleResponse, HighlightCode )
|
||||||
|
|||||||
37
test/e2e-cypress/static/documents/bugs/5458.yaml
Normal file
37
test/e2e-cypress/static/documents/bugs/5458.yaml
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
swagger: "2.0"
|
||||||
|
info:
|
||||||
|
title: test
|
||||||
|
version: 1.0.0
|
||||||
|
paths:
|
||||||
|
/foo1:
|
||||||
|
get:
|
||||||
|
summary: Response without a schema
|
||||||
|
produces:
|
||||||
|
- application/json
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
description: Successful response
|
||||||
|
examples:
|
||||||
|
application/json:
|
||||||
|
foo: custom value
|
||||||
|
/foo2:
|
||||||
|
get:
|
||||||
|
summary: Response with schema
|
||||||
|
produces:
|
||||||
|
- application/json
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
description: Successful response
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/Foo'
|
||||||
|
examples:
|
||||||
|
application/json:
|
||||||
|
foo: custom value
|
||||||
|
|
||||||
|
definitions:
|
||||||
|
Foo:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
foo:
|
||||||
|
type: string
|
||||||
|
example: bar
|
||||||
18
test/e2e-cypress/tests/bugs/5458.js
Normal file
18
test/e2e-cypress/tests/bugs/5458.js
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
// http://github.com/swagger-api/swagger-ui/issues/5458
|
||||||
|
|
||||||
|
describe("#5458: Swagger 2.0 `Response.examples` mappings", () => {
|
||||||
|
it("should render a custom example when a schema is not defined", () => {
|
||||||
|
cy.visit("/?url=/documents/bugs/5458.yaml")
|
||||||
|
.get("#operations-default-get_foo1")
|
||||||
|
.click()
|
||||||
|
.get(".model-example .highlight-code")
|
||||||
|
.contains("custom value")
|
||||||
|
})
|
||||||
|
it("should render a custom example when a schema is defined", () => {
|
||||||
|
cy.visit("/?url=/documents/bugs/5458.yaml")
|
||||||
|
.get("#operations-default-get_foo2")
|
||||||
|
.click()
|
||||||
|
.get(".model-example .highlight-code")
|
||||||
|
.contains("custom value")
|
||||||
|
})
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user