json - 在大摇大摆的例子中描述属性
问题描述
尝试在 swagger 的 JSON 响应定义中添加多行示例。需要得到类似的结构
{
"result": {
"urls": {
"site/index": true,
"site/create": true,
"site/update": true,
"site/delete": true,
"site/types": true,
"site/save": false
}
}
}
但现在我所拥有的一切
{
"result": {
"urls": [
{
"site/index": true
},
{
"site/create": true
},
{
"site/update": true
},
{
"site/delete": true
},
{
"site/types": true
},
{
"site/save": false
}
]
}
}
我的 YAML 文件看起来像
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
示例中的字符串可以不同,它只是一个路径块。如何修复我的 CheckAccessOKResponse 示例或结构以获得所需的 JSON 视图?谢谢你。
解决方案
example
从值列表中删除前导短划线。破折号表示数组项,您不需要。
此外,result.urls
当前定义为自由形式的对象,但您可能需要一个字符串到布尔映射。
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
推荐阅读
- javascript - 单击复选框后,addEventListener 不起作用
- laravel - 在 Laravel (windows) 中创建符号链接
- javascript - 用于重复模式的正则表达式
- sql-server - SQL Server 2017 - 数据库还原,无需替换即可覆盖
- partition - MySQL 对存档表进行分区的最佳方法是什么?
- android - Fragment 布局的一部分未在 Activity 中显示
- react-native - 谁能告诉我,如何在 react-native 的平面列表中使用图像?
- python - Pandas SettingWithCopyWarning 原因不明
- tensorflow2.0 - tensorflow2.0中的旋转图像及其关键点标签
- microsoft-graph-api - Microsoft Graph SDK 未在丰富的通知中提供约会/事件的草稿/发送状态