"Comment" 是 Open API 3.0 规范或 Swagger 编辑器中的受保护词吗?
Is "Comment" a protected word in the Open API 3.0 spec or Swagger Editor?
我目前正在使用 Swagger 编辑器 (v3.1.9) 和 Open API 3 规范制定 API 规范。
我得到一些特别针对我命名为 Comment
的架构组件的特殊行为
Comment:
description: "A comment on an asset or submission"
allOf:
- $ref: "#/components/schemas/Message"
type: object
properties:
parent:
oneOf:
- $ref: "#/components/schemas/Asset"
- $ref: "#/components/schemas/Submission"
在UI中呈现为(继承自Message的none)
Comment {
description: A comment on an asset or submission
parent {
oneOf -> {
}
v {
}
}
}
但是,如果我将其重命名为其他名称,比如 Commentary
它将完全呈现(继承自 Message):
Commentary{
description: A comment on an asset or submission
id string($uuid)
example: f1907c82-2c5f-4f60-8cd9-12647d411822
author User{...}
body string
example: Lorem ipsum dolor sit amet
message_type string
example: DiscussionPost
parent {
oneOf -> Asset{...}
Submission{...}
}
}
我唯一能想到的是,在 Open API 规范或 Swagger 编辑器中的一个或两个中有一个用于评论的保留字。我想知道的主要事情是这是否确实是一个错误,或者我是否应该避免使用这个名称(如果是这样,如果还有其他我应该避免的名称)
不,Comment
不是保留字。您的架构是正确的。
模式呈现问题似乎是一个错误,现已修复。您的模式在最新的 Swagger 编辑器中正确呈现。
我目前正在使用 Swagger 编辑器 (v3.1.9) 和 Open API 3 规范制定 API 规范。
我得到一些特别针对我命名为 Comment
Comment:
description: "A comment on an asset or submission"
allOf:
- $ref: "#/components/schemas/Message"
type: object
properties:
parent:
oneOf:
- $ref: "#/components/schemas/Asset"
- $ref: "#/components/schemas/Submission"
在UI中呈现为(继承自Message的none)
Comment {
description: A comment on an asset or submission
parent {
oneOf -> {
}
v {
}
}
}
但是,如果我将其重命名为其他名称,比如 Commentary
它将完全呈现(继承自 Message):
Commentary{
description: A comment on an asset or submission
id string($uuid)
example: f1907c82-2c5f-4f60-8cd9-12647d411822
author User{...}
body string
example: Lorem ipsum dolor sit amet
message_type string
example: DiscussionPost
parent {
oneOf -> Asset{...}
Submission{...}
}
}
我唯一能想到的是,在 Open API 规范或 Swagger 编辑器中的一个或两个中有一个用于评论的保留字。我想知道的主要事情是这是否确实是一个错误,或者我是否应该避免使用这个名称(如果是这样,如果还有其他我应该避免的名称)
不,Comment
不是保留字。您的架构是正确的。
模式呈现问题似乎是一个错误,现已修复。您的模式在最新的 Swagger 编辑器中正确呈现。