看来,JSON包含路径信息和http请求动词,而YAML似乎仅仅定义了一个树结构。Swagger中JSON和YAML的用法有什么不同?
他们有什么区别?还是我在这里混合了不同的概念/层次结构?新手招摇,刚开始学习。
如果YAML是JSON的超集,那么超集在这里添加的具体是什么 - 它是URL路径和HTTP动词?增加一个example
也是YAML为Swagger增加JSON的东西吗?
看来,JSON包含路径信息和http请求动词,而YAML似乎仅仅定义了一个树结构。Swagger中JSON和YAML的用法有什么不同?
他们有什么区别?还是我在这里混合了不同的概念/层次结构?新手招摇,刚开始学习。
如果YAML是JSON的超集,那么超集在这里添加的具体是什么 - 它是URL路径和HTTP动词?增加一个example
也是YAML为Swagger增加JSON的东西吗?
符合该规格的OpenAPI本身是一个JSON对象,其可以在任一或JSON YAML格式来表示一个OpenAPI的文档。
所以功能方面,使用JSON或YAML没有区别。作为JSON超集的YAML在这里添加的仅仅是一种不同的语法。使用从本说明书的实例中,这两个文件是相同的:
{
"servers": [
{
"url": "https://development.gigantic-server.com/v1",
"description": "Development server"
},
{
"url": "https://staging.gigantic-server.com/v1",
"description": "Staging server"
},
{
"url": "https://api.gigantic-server.com/v1",
"description": "Production server"
}
]
}
和
servers:
- url: https://development.gigantic-server.com/v1
description: Development server
- url: https://staging.gigantic-server.com/v1
description: Staging server
- url: https://api.gigantic-server.com/v1
description: Production server
第一文件是有效的JSON和有效YAML(因为YAML是JSON的超集)。第二个文档是有效的YAML,在结构上与第一个文档相同。
所以要回答有关YAML超集在这里添加的问题:它为指定相同的结构添加了不同的语法。而已。
YAML确实包含了一些无法映射到JSON的功能,但它们在这里并不相关,因为Swagger/OpenAPI不使用它们。