4

我想在验证阶段更改状态码。

import { IsEmail, IsNotEmpty } from 'class-validator';

export class CreateUserDto {
  @IsEmail()
  email: string;

  @IsNotEmpty()
  password: string;
}

有了这些规则,如果请求在请求正文中使用无效的电子邮件属性到达我们的端点,应用程序将自动响应 400 错误请求代码。

我的问题是,是否可以将状态码从 400 更改为 422(不可处理实体)?

4

1 回答 1

2

您必须自己创建一个Filter来捕获BadRequestExceptions并将它们转换为 422。无论您是要更改状态代码还是整个错误响应,您都应该拥有对该res对象的完全访问权限并能够随后进行更改。

于 2019-11-25T05:18:51.830 回答