2016-11-16 14 views
4

私はかなり新しいですスワッガー、これは基本的な質問かもしれません。オブジェクトの配列をパラメータとして定義する方法は?

次のように私は、パラメータとして整数の配列を受け取り、APIの.ymlファイルを作成することができています:

Add samples 
--- 
tags: 
- MY API 
parameters: 
- name: my_id 
    in: path 
    type: integer 
    required: true 
    description: Some des 
- name: body 
    in: body 
    schema: 
    id: add_samples 
    required: 
     - sample_ids 
    properties: 
     sample_ids: 
     type: array 
     items: 
      type: integer 
     description: A list of sample ids to be added 
responses: 
    '200': 
    description: Added samples. 
    '400': 
    description: Error adding samples. 

これは私が上記のAPIに送信し、すべてが正常に動作するものである。

{"sample_ids": [475690,475689,475688]} 

整数の配列の代わりに、複雑なオブジェクトをパラメータとして使用したい場合は、どうすればいいですか?

など。これが私が送りたいものなら:

{"sample_ids": [{ 
    "sample_id": "7", 
    "some_prop": "123" 
}, 
{ 
    "sample_id": "17", 
    "some_prop": "134" 
}]} 

.ymlファイルはどのように表示されますか?私はこのような何かを試してみました、動作していないよう:

Add sample 
--- 
tags: 
- Samples API 
models: 
    Sample: 
    id: Sample 
    properties: 
     sample_id: 
     type: string 
     default: "" 
     description: The id for this sample 
     some_prop: 
     type: integer 
     description: Some prop this sample 
parameters: 
- name: body 
    in: body 
    schema: 
    id: add_sample 
    required: 
     - sample_ids 
    properties: 
     samples: 
     type: array 
     description: A list of samples to be added 
     items: 
      $ref: Sample 
responses: 
    '201': 
    description: Created a new sample with the provided parameters 
    '400': 
    description: SOME ERROR CODE 
+0

'samples'の値であるマッピングには、2つのキー 'description'があります。これはYAMLでは許可されていません。 – Anthon

+0

@Anthon:質問を投稿している間にコピー貼りエラーが発生しました。私は説明を更新しました。ありがとう。 – Bhushan

答えて

2

この1は主に、動作しているようです:

Add sample 
--- 
tags: 
- Samples API 
models: 
    Sample: 
    id: Sample 
    properties: 
     sample_id: 
     type: string 
     default: "" 
     description: The id for this sample 
     some_prop: 
     type: integer 
     description: Some prop this sample 
parameters: 
- name: body 
    in: body 
    schema: 
    id: add_sample 
    required: 
     - sample_ids 
    properties: 
     samples: 
     type: array 
     description: A list of samples to be added 
     items: 
      $ref: Sample 
responses: 
    '201': 
    description: Created a new sample with the provided parameters 
    '400': 
    description: SOME ERROR CODE 

今、唯一の問題は、闊歩UIで、そうではありませんメンバ変数とそのデフォルト値を示します。むしろnullとして表示しています:

{ 
    "samples": [ 
    null 
    ] 
} 
関連する問題