2016-12-22 30 views
0

現在、APIを文書化するためにSwagger.ioを使用しています。カスタムjsonオブジェクトの送信を文書化する方法を理解しようとしています。コレクションのSwaggerでオブジェクトのJSON配列を挿入する方法は?

  • PUT/some_endpoint

  • MIME:アプリケーション/ JSON

  • カスタムデータ:

    [ 
        {"keyA": "a value", "keyB": "b value"}, 
        {"keyA": "a value", "keyB": "b value"} 
    ] 
    

が闊歩でこれを文書化することは可能です?

/some_endpoint: 
    put: 
     description: | 
     desc goes here 
     parameters: 
     - name: guid 
      in: query 
      description: 
      required: true 
      type: string 
      format: string   
     # Expected responses for this operation 
     responses: 
     # Response code 
     200: 
      description: Successful response 
+0

'keyA'と' keyB'は固定プロパティ名か、それとも任意のキー名を持つマップですか? – Helen

+0

@Helen固定プロパティ名 –

答えて

1

JSONデータはリクエスト本体で送信されるため、body parameterとして定義する必要があります。身体構造はschemaキーワード(typeではない)を使用して記述されています。あなたの例では、データはオブジェクトの配列で、各オブジェクトはプロパティーkeyAkeyBを持っています。

paths: 
    /some_endpoint: 
    put: 
     summary: Puts something 
     description: | 
     desc goes here 
     consumes: 
     - application/json 
     parameters: 
     - in: body 
      name: body 
      required: true 
      schema: 
      type: array 
      items: 
       $ref: '#/definitions/MyObject' 
      # If you need to define array size constraints: 
      minItems: 1 
      minItems: 10 

definitions: 
    MyObject: 
    type: object 
    properties: 
     keyA: 
     type: string 
     keyB: 
     type: string 
    # If keyA and keyB are required: 
    required: 
     - keyA 
     - keyB 

操作レベルでconsumesキーを使用し、要求データがJSONであることを指定します。すべてのAPI操作でJSONが使用された場合は、代わりにconsumesをルートレベルに追加できます。

関連する問題