假设我有以下路线:
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)
当单个路由中有多个参数时,我遇到了多种情况。我不想为每条路线创建单独的验证类。有没有办法以不同的方式处理这个问题?
最近我将nestjs/swagger项目中的包更新为^4.0.0. 以前 Swagger 将我的查询参数序列化如下:
/resources?parameter=1,2,3
Run Code Online (Sandbox Code Playgroud)
现在它看起来像这样:
/resources?parameter=1¶meter=2¶meter=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)
我怎样才能改变这种行为?