2016-04-02 17 views
7

olarak bir dizi içeren swagger bir nesne tanımı örnek nasıl sağlanabilir, Aşağıdaki örneğe başvurusu, tanımında NamedElementArray bir örnek vermek istiyorum. Bu, elements özniteliği için NamedElement dizisinin bir örneğini göstermeyi gerektirir.Bir öznitelikler

Bunu nasıl yaparım? Bunu, havalı şartnamede nasıl yapılacağının ayrıntılarını bulamıyorum.

swagger: '2.0' 

info: 
    version: "0.0.0" 
    title: Example 

definitions: 
    Identifier: 
    type: string 
    format: uuid 
    NamedElement: 
    type: object 
    properties: 
     name: 
     type: string 
     identifier: 
     $ref: "#/definitions/Identifier" 
    required: 
    - name 
    - identifier 
    example: 
     name: Identifier1 
     identifier: ab804529-11d0-4781-a49a-3bbbc40243df 
    NamedElementArray: 
    type: object 
    properties: 
     name: 
     type: string 
     elements: 
     type: array 
     minLength: 0 
     items: 
      $ref: "#/definitions/NamedElement" 
    required: 
    - name 
    - elements 
    example: 
     name: Fred 
     elements: 

paths: 
    /elements/{name}: 
    get: 
     description: | 
     Gets `NamedElement` objects, based on the **name** query param. 
     parameters: 
     - 
      name: name 
      in: path 
      description: Name of element array to return 
      required: true 
      type: string 
     responses: 
     200: 
      description: Returns a named element array 
      schema: 
      $ref: "#/definitions/NamedElementArray" 
     default: 
      description: Return nothing 

cevap

9

Sen yüksek seviyede örnekler ve düşük seviyede olanlar arasında seçim yapmak zorunda. Swagger UI'de, yüksek düzey örnekler yerel olandan önce gelir. örnek Swagger arayüzünde aşağıdaki gibi görünecektir Bu durumda

Identifier: 
    type: string 
    format: uuid 
    example: Local UUID example 

NamedElement: 
    type: object 
    properties: 
     name: 
      type: string 
      example: Local identifier example 
     identifier: 
      $ref: "#/definitions/Identifier" 
     required: 
      - name 
      - identifier 

NamedElementArray: 
    type: object 
    properties: 
     name: 
      type: string 
      example: Local name example 
     elements: 
      type: array 
      minLength: 0 
      items: 
       $ref: "#/definitions/NamedElement" 
    required: 
     - name 
     - elements 

:

Swagger Hub

geçerli

için tam bir örnek Her özellik (düşük seviyede) üzerinde bir örnek tanımlayabilirsiniz

{ "name": "Local name example", "elements": [ { "name": "Local identifier example", "identifier": "Local UUID example" } ] } 

Ayrıca örneğinizde yaptığınız gibiörneğinde olduğu gibi tam bir örnek verebilirsin: Bu durumda

NamedElementArray: 
    type: object 
    properties: 
     name: 
      type: string 
     elements: 
      type: array 
      minLength: 0 
      items: 
       $ref: "#/definitions/NamedElement" 
    required: 
     - name 
     - elements 
    example: 
     name: Fred 
     elements: 
      - name: Identifier1 
       identifier: ab804529-11d0-4781-a49a-3bbbc40243df 
      - name: Identifier2 
       identifier: zzz4529-11d0-4781-a49a-3bbbc40243df 

örnek Swagger arayüzünde aşağıdaki gibi görünecektir:

{ 
    "name": "Fred", 
    "elements": [ 
    { 
     "name": "Identifier1", 
     "identifier": "ab804529-11d0-4781-a49a-3bbbc40243df" 
    }, 
    { 
     "name": "Identifier2", 
     "identifier": "zzz4529-11d0-4781-a49a-3bbbc40243df" 
    } 
    ] 
} 
İlgili konular