2016-12-01 27 views
1

jschemaの配列のデフォルト値をswaggerで設定しようとしています。以下はスキーマの例です。配列jschemaオブジェクトのデフォルト値を設定する方法は?

'Myobj': { 
      'type': 'object', 
      'title': 'Myobj', 
      'description': 'Some text', 
      'properties': { 
       'outputForms': { 
        'type': 'array', 
        'description': 'Some text', 
        'default': 'two', 
        'items': { 
           'type': 'string', 
           'enum': ['one','two'], 
          }, 
        'maxItems': 4, 
        'uniqueItems': true, 
        'additionalItems': false 
       } 
      } 
     } 

これは機能しません。何が間違っていますか? 私はどんな助けにも感謝します。

+0

デフォルトは配列ではありませんか? – xShirase

+0

'default':{items: 'two'}を使用する必要がありますか? – nightmare

+0

私は 'two'と 'outputForms right'のデフォルト値を使用したいと思っています - はい – nightmare

答えて

1

変更

'default': 'two', 

'default': ['two'], 

に角括弧[]アレイを示すために使用されます。

また、additionalPropertiesを削除してください。 Swaggerでは、このキーの意味は異なります。オブジェクト(ブール値ではない)で、map/dictionaryを定義するために使用されます。

+0

それは動作しません – nightmare

+0

私は方法ではありませんが、配列の最初の要素を取得します。配列の最初の要素として 'two'を設定すると、outputFormsのデフォルト値になります – nightmare

+0

@nightmare:これは有効なSwaggerで、Swagger UI(https://i.stack.imgur.com/AjWHs.png)でうまく動作します。ツールがこれを処理できない場合は、ツールのバグでなければなりません。 – Helen

関連する問題