我的定义部分中有一个对象需要有一个名为 security 的属性,但是当我这样做时,swagger 编辑器会给出错误消息:
definitions.User.properties.security.properties 处的语义错误 安全要求必须与安全定义相匹配 跳转到第 49 行
这是我的定义
definitions:
Security:
type: object
properties:
name:
type: string
User:
type: object
required:
- can
- username
properties:
can:
type: integer
readOnly: true
username:
type: string
format: email
readOnly: true
security:
$ref: '#/definitions/Security'
有什么我可以做到这一点并避免错误吗?
这个 bug 早在 2017 年就在 Swagger Editor 3.2.0+ 中得到了修复。
问题在于名为
security
的模型属性被错误地标记为安全定义的一部分。实际上,仅当在全局级别或路径级别使用时,security
才应被视为保留关键字;可以有一个名为 security
的模型属性。