Параметр запроса, содержащий список значений, разделенных запятыми , определяется как массив .Если значения предопределены, то это массив с перечислением .
. По умолчанию в массиве может быть любое количество элементов, соответствующее вашему требованию «нет или больше».При необходимости вы можете ограничить количество элементов с помощью minLength
и maxLength
и при необходимости принудительно применить uniqueItems: true
.
OpenAPI 2.0
Определение параметра будет выглядеть следующим образом.collectionFormat: csv
указывает, что значения разделены запятыми, но это формат по умолчанию, поэтому его можно не указывать.
parameters:
- name: sort
in: query
type: array # <-----
items:
type: string
enum: [field1, field2, field3]
collectionFormat: csv # <-----
required: false
description: Sort the results by attributes. (See http://jsonapi.org/format/1.1/#fetching-sorting)
OpenAPI 3.0
collectionFormat: csv
из OpenAPI 2.0 замененс style: form
+ explode: false
.style: form
- это стиль по умолчанию для параметров запроса, поэтому его можно опустить.
parameters:
- name: sort
in: query
schema:
type: array # <-----
items:
type: string
enum: [field1, field2, field3]
required: false
description: Sort the results by attributes. (See http://jsonapi.org/format/1.1/#fetching-sorting)
explode: false # <-----
Я думаю, что нет необходимости в allowEmptyValue
, потому что пустой массив в этом случае будет фактически пустым значением.Более того, allowEmptyValue
не рекомендуется для использования начиная с OpenAPI 3.0.2 ", поскольку оно будет удалено в будущей версии."