2017-02-22 33 views
1

В настоящее время я пытаюсь создать файл swagger для моего программного обеспечения. Теперь я хотел бы создать определение для timeRange. Моя проблема заключается в том, что этот массив выглядит следующим образом:Swagger массив строк без имени

timeRange: { 
    "2016-01-15T09:00:00.000Z", // this is the start date 
    "2017-01-15T09:00:00.000Z" // this is the end date 
} 

Как я могу создать пример значения, которое работает из коробки? Это «массив строк» ​​с минимум двумя.

"timeRange": { 
    "type": "array", 
    "items": { 
    "type": "string", 
    "example": "2017-01-15T09:00:00.000Z,2017-01-15T09:00:00.000Z" 
    } 
} 

Это приводит пример, как это:

"timeRange": [ 
    "2017-01-15T09:00:00.000Z,2017-01-15T09:00:00.000Z" 
] 

Этот пример не работает, потому что это массив, а не объект. Все вместе: Как я могу реализовать примерное значение, которое существует из двух разных строк (без имени).

Надеюсь, вы можете мне помочь! Приветствия!

ответ

0
timeRange: { 
    "2016-01-15T09:00:00.000Z", // this is the start date 
    "2017-01-15T09:00:00.000Z" // this is the end date 
} 

не является допустимым JSON - "timeRange" должно быть заключено в кавычки, а синтаксис объекта/массив должен быть другим.

При использовании синтаксиса объекта {}, значения должны быть названы свойствами:

"timeRange": { 
    "start_date": "2016-01-15T09:00:00.000Z", 
    "end_date": "2017-01-15T09:00:00.000Z" 
} 

В противном случае timeRange потребности быть [] массива:

"timeRange": [ 
    "2016-01-15T09:00:00.000Z", 
    "2017-01-15T09:00:00.000Z" 
] 


В первом примере ({} объект), ваш Swagger будет выглядеть следующим образом, с отдельным example для каждого именованного свойства:

"timeRange": { 
    "type": "object", 
    "properties": { 
    "start_date": { 
     "type": "string", 
     "format": "date-time", 
     "example": "2016-01-15T09:00:00.000Z" 
    }, 
    "end_date": { 
     "type": "string", 
     "format": "date-time", 
     "example": "2017-01-15T09:00:00.000Z" 
    } 
    }, 
    "required": ["start_date", "end_date"] 
} 

В случае [] массива, вы можете задать массив уровня example который массив из нескольких элементов:

"timeRange": { 
    "type": "array", 
    "items": { 
    "type": "string", 
    "format": "date-time" 
    }, 
    "example": [ 
    "2016-01-15T09:00:00.000Z", 
    "2017-01-15T09:00:00.000Z" 
    ] 
} 
+0

большое спасибо. Это именно то, что я искал. Я просматривал документацию по swagger, но не мог найти ничего подобного! –

 Смежные вопросы

  • Нет связанных вопросов^_^