NestJS Swagger - Как объявить множественное поле enum? - PullRequest
0 голосов
/ 19 апреля 2019

Я использую модуль @ nestjs / swagger в своем приложении.Я хотел бы объявить множественное поле enum для одного из моих параметров запроса.Я прочитал в документации, что я могу достичь этого, комбинируя свойства enum и isArray.Поэтому я сделал что-то вроде:

class QueryParams {
  @ApiModelProperty({
    enum: ['test_status_1', 'test_status_2'],
    isArray: true
  })
  status: string[]
}

Я использую этот класс для проверки запроса.К сожалению, это не работает.Поэтому я решил использовать @ApiImplicitQuery в своем контроллере следующим образом:

@ApiImplicitQuery({
  name: 'status',
  enum: ['test_status_1', 'test_status_2'],
  isArray: true,
  collectionFormat: 'csv'
})

Это позволило мне объявить множественный выбор enum, но есть проблема с тем, как эти параметры добавляются в URL.Если я выберу несколько значений, я получу:

?status=test_status_1&status=test_status2

Я бы хотел, чтобы они отправлялись в формате csv, как я указал выше.Сейчас он использует формат multi.Есть ли способ добиться этого?Я что-то не так делаю?

...