、
JSONやYAML形式のいずれかで表すことができるJSONオブジェクトは、それ自体でOpenAPIの仕様に準拠し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のスーパーセットであるため)です。 2番目の文書は有効なYAMLであり、最初の文書と構造的に同じです。
YAMLのスーパーセットが何を追加するかについての質問に答えるには、同じ構造を指定するための異なる構文を追加します。これ以上何もない。
YAMLにはJSONにマッピング可能ではない機能がいくつか含まれていますが、Swagger/OpenAPIではこれらを使用しないため、ここでは無関係です。