Reputation: 11
Try to add multiline example in definition of JSON response in swagger. Need to get structure like
{
"result": {
"urls": {
"site/index": true,
"site/create": true,
"site/update": true,
"site/delete": true,
"site/types": true,
"site/save": false
}
}
}
but now everything I've got only
{
"result": {
"urls": [
{
"site/index": true
},
{
"site/create": true
},
{
"site/update": true
},
{
"site/delete": true
},
{
"site/types": true
},
{
"site/save": false
}
]
}
}
My YAML file looks like
swagger: "2.0"
info:
description: "xxx"
version: 1.2.8
title: "xxx"
host: "xxx"
basePath: "xxx"
schemes:
- "https"
consumes:
- application/json
produces:
- application/json
/site/check:
post:
summary: ""
description: ""
parameters:
- in: body
name: urls
required: true
schema:
$ref: '#/definitions/CheckAccess'
responses:
200:
description: OK
schema:
$ref: '#/definitions/CheckAccessOKResponse'
definitions:
CheckAccess:
properties:
urls:
type: string
example:
- "site/index"
- "site/create"
- "site/update"
- "site/delete"
- "site/types"
- "site/save"
required:
- urls
CheckAccessOKResponse:
properties:
result:
type: object
properties:
urls:
type: object
example:
- "site/index": true
- "site/create": true
- "site/update": true
- "site/delete": true
- "site/types": true
- "site/save": false
Strings in example can be different, it's just a block of paths. How can I fix my example or structure of CheckAccessOKResponse to get the needed view of JSON? Thank you.
Upvotes: 1
Views: 805
Reputation: 97991
Remove the leading dashes from the example
value list. Dashes indicate array items, you don't need that.
Also, result.urls
is currently defined as a free-form object, but you probably want a string-to-boolean map instead.
CheckAccessOKResponse:
properties:
result:
type: object
properties:
urls:
type: object
additionalProperties: # <--- this means the object is
type: boolean # a string-to-boolean map
example:
"site/index": true # <--- no leading dashes
"site/create": true
"site/update": true
"site/delete": true
"site/types": true
"site/save": false
Upvotes: 1