2016-08-15 12 views
0

以下のような定義があります。また、my_field_type_1はまったく検証されません。理由は何でしょうか?私はjsonschemaのpythonモジュールを使用しています。なぜjsonschemaはスキーマからの定義を検証しませんか?

definitions: 
    TestRouteSchema1: 
    required: 
    - my_field 
    properties: 
     my_field: 
     type: object 
     my_field_type_1: 
      $ref: "#/definitions/MyFieldType1" 
     my_field_type_2: 
      $ref: "#/definitions/MyFieldType2" 
+1

スキーマは間違いなく正しいですが、私はあなたが何をしようとしているのか分かりません。検証しようとしているデータの例をいくつか投稿できますか?少なくとも1つは検証する必要があり、1つは検証すべきではありません。 – Jason

答えて

3

あなたは巣my_field_type_1my_field_type_1新しいpropertiesキーの下になければなりません。だから何かのように

definitions: 
    TestRouteSchema1: 
    required: 
    - my_field 
    properties: 
     my_field: 
     type: object 
     properties: 
      my_field_type_1: 
      $ref: "#/definitions/MyFieldType1" 
      my_field_type_2: 
      $ref: "#/definitions/MyFieldType2" 
+0

うん。私はまた、私は追加のプロパティキーを持つ必要があることを知った。しかし、私はなぜそれを見つけることができませんでしたか?理由を知っていますか? – Rohanil

+2

オブジェクトタイプを定義する場合、プロパティ定義は「プロパティ」キーの下にある必要があります。これがjsonスキーマの指定方法です。最上位のオブジェクト型またはネストされたオブジェクト型を定義すると、違いはありません。 – erosb

+0

ありがとう、しかし私はなぜjsonschemaが間違った方法でスキーマを指定できるのか不思議です。私の意見では、私のスキーマの検証エラーが発生するはずです。 – Rohanil

関連する問題