小编alw*_*loo的帖子

是否可以验证单个路由参数?

假设我有以下路线:

companies/{companyId}/departments/{departmentId}/employees
Run Code Online (Sandbox Code Playgroud)

是否可以分别验证两个资源 id ( companyId, departmentId) ?我尝试过关注,但没有成功。

class ResourceId {
  @IsNumberString()
  @StringNumberRange(...) // my custom validator
  id: number;
}

@Get(':companyId/departments/:departmentId/employees')
getEmployees(
  @Param('companyId') companyId: ResourceId,
  @Param('departmentId') departmentId: ResourceId,
) {}
Run Code Online (Sandbox Code Playgroud)

当单个路由中有多个参数时,我遇到了多种情况。我不想为每条路线创建单独的验证类。有没有办法以不同的方式处理这个问题?

javascript node.js typescript class-validator nestjs

5
推荐指数
2
解决办法
6343
查看次数

如何使用 nestjs/swagger 更改查询参数序列化?

最近我将nestjs/swagger项目中的包更新为^4.0.0. 以前 Swagger 将我的查询参数序列化如下:

/resources?parameter=1,2,3
Run Code Online (Sandbox Code Playgroud)

现在它看起来像这样:

/resources?parameter=1&parameter=2&parameter=3
Run Code Online (Sandbox Code Playgroud)

我的查询的 DTO 对象如下所示:

class QueryDTO {
  @ApiProperty({
    required: false,
    type: [Number],
  })
  @IsOptional()
  readonly parameter?: number[];
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能改变这种行为?

node.js swagger typescript nestjs nestjs-swagger

4
推荐指数
1
解决办法
3158
查看次数