我有一个 NestJS 项目,其中同时使用类验证器和类转换器,并且我需要在类验证器抛出错误之前执行类转换器。
给定以下课程:
export class CreateProfileDto {
  @IsString()
  @Expose({ name: 'name' })
  profileName!: string;
  @IsBoolean()
  @Expose({ name: 'active'})
  profileActive!: boolean;
}
Run Code Online (Sandbox Code Playgroud)
我需要用属性名称而不是属性 profileName 来公开错误,其他属性也是如此。
有什么直接的想法来管理这个吗?无法要求前端向我发送具有不同名称的属性,这就是我需要调整它们的原因。
我想通过管道来做到这一点,但在错误爆发之前无法使用它。
当前错误格式:
{
    "statusCode": 400,
    "error": "Bad Request",
    "message": [
        {
            "target": {
                "profileName": 1
            },
            "value": 1,
            "property": "profileName",
            "children": [],
            "constraints": {
                "isString": "profileName must be a string"
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)
所需的错误格式:
{
    "statusCode": 400,
    "error": "Bad Request",
    "message": [
        {
            "target": {
                "name": 1
            },
            "value": 1,
            "property": "name",
            "children": …Run Code Online (Sandbox Code Playgroud)