Api-blueprint: オブジェクトの配列を持つ属性は不完全なスキーマを生成します

作成日 2016年05月11日  ·  8コメント  ·  ソース: apiaryio/api-blueprint

私のテキストファイルの次の部分:

  • 応答200(アプリケーション/ json)

    • 属性(オブジェクト)

    • ノード(配列[オブジェクト])



      • id:4(番号)


      • sname: Chromista (文字列)-学名


      • ランク: Kingdom (文字列)-学名の分類学的ランク


      • 著者: noworms, 1603 (文字列)-学名に関する著者情報




```
{
    "nodes": [
        {
            "id": "1",
            "sname": "Animalia",
            "rank": "Kingdom",
            "authorship": "noworms, 1603"
        },
        {
            "id": "2",
            "sname": "Archaea",
            "rank": "Kingdom",
            "authorship": "noworms, 1603"
        },
        {
            "id": "3",
            "sname": "Bacteria",
            "rank": "Kingdom",
            "authorship": "noworms, 1603"
        },
        {
            "id": "4",
            "sname": "Chromista",
            "rank": "Kingdom",
            "authorship": "noworms, 1603"
        },
        {
            "id": "5",
            "sname": "Fungi",
            "rank": "Kingdom",
            "authorship": "noworms, 1603"
        }
    ],
    "hasMore": 1
}
```

このHTMLを生成します:

pic1

「ノード」内のスキーマの一部が欠落しています!なぜですか?
データ構造も使用しようとしましたが、スキーマが不完全なままです。

最も参考になるコメント

これを試してみませんか?

+ nodes (array, fixed)
    + (object)
        + id: 4 (number)

全てのコメント8件

@agougousis次のことを試してみませんか?

nodes (array[object], fixed)

Ok! この「固定された」世界がどこから来たのかはまだわかりませんが、スキーマは完成しました。
ただし、作成されたスキーマは正しくないようです。
生成されるスキーマは次のとおりです。

pic3

正しいスキーマは次のとおりです。

pic4

私が間違っている?

これを試してみませんか?

+ nodes (array, fixed)
    + (object)
        + id: 4 (number)

うん! はるかに良いです! 「匿名」オブジェクトを定義できるとは思いませんでした。
よくわかりませんが、次のスクリーンショットでマークされている括弧はそこにあるべきではないと思います。 どう思いますか?
schema

@agougousisアイテムは可能なタイプの配列であるため、角かっこは正しいです

ルールをよく覚えていませんが、 http://jsonschema.net/ (私が時々使用する迅速で汚いソリューション)でjsonデータを入力として与えると、これらの括弧なしのスキーマが得られます。

@agougousisはこれにfixed-typeを使用します:

+ nodes (array, fixed-type)
    + (object)
        + id: 4 (number)

固定タイプの場合は+1

fixed-このタイプの構造体と値のインスタンスは固定されています。 この属性は、ネストされたメンバータイプに伝播します。

fixed-type-この型構造のインスタンスは固定されていますが、値は固定されていません。 この属性は、ネストされたメンバータイプには伝播されません。

https://apiblueprint.org/documentation/mson/specification.html#353 -type-attribute

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

Perni1984 picture Perni1984  ·  6コメント

jmdacruz picture jmdacruz  ·  6コメント

basickarl picture basickarl  ·  7コメント

alronlam picture alronlam  ·  4コメント

robbinjanssen picture robbinjanssen  ·  6コメント