2016-08-19 1 views
0

(6回)繰り返し:この繰り返しパターン({various schema})のJSONスキーマは、私のプロジェクトのコードにこのパターンが繰り返し表示される

 type: object 
      properties: 
      total: 
       type: integer 
       description: the count of all items that match the query 
      hits: 
       type: array 
       description: a single page of results 
       items: 
       $ref: '#/definitions/{various schema}' 

内側の部分には、それぞれの使用によって異なります。私は自分自身を繰り返すのではなく、それぞれの共有コードを参照したいと思います。私は通常$refを使用しますが、可変ビットのためにここでは動作しません。

私は私のためにanyOf仕事をするために試みたが、それは唯一のobjectpropertiesを変えることができますが、私はarrayitemsを変更しようとしています。

紛失しているものがありますか?これを再利用可能なパターンに適合させるためのおそらく小さなリファクタリング?

答えて

1

itemsの制約を除いて、繰り返しパターンを定義し、各バリエーションでallOfを使用することができます。

あなたの再利用可能なスキーマはこのようになります:

reusable: 
    type: object 
     properties: 
     total: 
      type: integer 
      description: the count of all items that match the query 
     hits: 
      type: array 
      description: a single page of results 

あなたは変化を定義したいときは、再利用可能なスキーマを追加allOfの使用と追加の制約ます

variation1: 
    allOf: 
    - reusable 
    - properties: 
     hits: 
      items: 
      $ref: '#/definitions/variation_schema' 
+0

私をもたらします6行までの10行、6回の繰り返し。私が望んでいたものではありませんでしたが、私が考えたものよりも優れていました。ありがとう! – bukzor

関連する問題