MSON仕様に従って可能になるはずの(array[number])
ようなものを使用しようとしています。
結果のJSON { "foo" : [1, 99] }
を含む数値の配列が必要であり、できればスキーマに情報を入力します。
- foo: 1, 99 (array)
は{"foo": [ "1", "99" ]}
レンダリングします- foo: 1, 99 (array[number])
は{ "foo": [] }
レンダリングします適切な数値配列JSONを取得する唯一の方法は
- foo (array)
- 1 (number)
- 99 (number)
しかし、これははるかに長く、それでも数値の配列ではなく、要素がたまたま数値である配列にすぎません。
また、どのような場合でもスキーマに型情報は生成されず、常に"foo": { "type": "array" }
ます。
ここで何が欠けていますか?
テストスイート: http :
@ sheela-na-geekさん、これは実際には(既知の)JSONレンダラーのバグです。 -私たちは、それが私たちのパーサに固定されているドラフターを-しかし、それはまだApiary.io生産にリリースされていません。
修正がApiary.ioで公開されたら、この問題を更新します。
スキーマに関して–これもバグであり、修正に向けて取り組んでいます。 MSONはまだベータ品質であると見なされていることに注意してください。これらすべてのバグをできるだけ早く潰すために、最善を尽くします。 しかし、彼らに報告し続けてください😀
ありがとう!
私もこれに遭遇し、ユースケースに適したjsonスキーマを使用して明示的な+ Schema
ブロックを追加することで回避しました。
修正はまだapiary.ioに反映されていないようで、ここでの最後のアクティビティは数か月前でした。 これが修正されるのを見てうれしいです。
@LukeWinikates APIブループリントの関連部分を
ここで応答が遅れてすみません。 これが再現です。
FORMAT: 1A
HOST: http://polls.apiblueprint.org/
# typed-array-example
## Rocks [/rocks]
### List All Rocks [GET]
+ Response 200 (application/json;charset=UTF-8)
+ Attributes (array[Rock])
+ Body
[
{
"id": "124",
"title": "marble",
"type": "metamorphic"
}
]
# Data Structures
## Rock (object)
+ `id` (string, required) -
+ `title` (string, required) - e.g. basalt, marble, diamond
+ `type` (enum[string], required)
+ Members
+ igneous
+ metamorphic
+ sedimentary
apiaryエディターでは、生成されるJSONスキーマは次のようになります。
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
生成されたスキーマには、 Rock
データ構造のスキーマも含まれていると思います。
@LukeWinikatesデフォルトでは、MSONの配列には固定タイプがありません。 配列には、指定したサンプル値などが含まれる場合があります。 固定タイプのJSONスキーマを作成する場合は、次に示すようにfixed-type
キーワードを追加する必要があります。
+ Attributes (array[Rock], fixed-type)
議論されたこの問題の元の問題は、しばらくの間修正されています。
最も参考になるコメント
@LukeWinikatesデフォルトでは、MSONの配列には固定タイプがありません。 配列には、指定したサンプル値などが含まれる場合があります。 固定タイプのJSONスキーマを作成する場合は、次に示すように
fixed-type
キーワードを追加する必要があります。議論されたこの問題の元の問題は、しばらくの間修正されています。