2017-10-28 13 views
1

JSONにはパス情報とhttp要求動詞が含まれているようですが、YAMLはツリー構造だけを定義しているようです。SwaggerでJSONとYAMLの使用方法が実際に異なる点は何ですか?

これらの違いは何ですか?あるいは、ここで異なるコンセプト/階層をミックスしていますか?初心者から喧嘩まで、ちょうど学び始めた。

YAMLがJSONのスーパーセットであれば、特にここで追加するスーパーセット - URLパスとHTTP動詞ですか? exampleを追加して、YAMLがSwaggerのJSONに追加するものもありますか? OpenAPI Specificationによれば

答えて

1

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ではこれらを使用しないため、ここでは無関係です。

関連する問題