看來,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不使用它們。