【发布时间】:2019-09-10 01:48:16
【问题描述】:
我在我的应用程序中使用@nestjs/swagger 模块。我想为我的查询参数之一声明多选枚举字段。我在文档中读到,我可以通过结合 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'
})
这允许我声明多选枚举,但是将这些参数添加到 url 的方式存在问题。如果我选择多个值,我会得到:
?status=test_status_1&status=test_status2
我希望使用上面指定的csv 格式发送它们。现在它使用multi 格式。有没有办法做到这一点?我做错了什么?
【问题讨论】:
-
关于多选的问题,我也遇到了同样的问题。由于找不到现有问题,我使用 nestjs/swagger 项目创建了问题 237。详情请查看github.com/nestjs/swagger/issues/237。
-
我还为您的 URL 问题创建了另一个问题,问题编号是 238,可以在 github.com/nestjs/swagger/issues/238 找到。
-
您找到解决方案了吗?我正在尝试使用多选枚举字段
-
我想这仍然没有解决? ://