在验证过程中使用自定义状态代码进行响应
Respond with a custom status code in validation process
我想在验证阶段更改状态代码。
import { IsEmail, IsNotEmpty } from 'class-validator';
export class CreateUserDto {
@IsEmail()
email: string;
@IsNotEmpty()
password: string;
}
有了这些规则,如果请求到达我们的端点并在请求正文中包含无效电子邮件 属性,应用程序将自动响应 400 错误请求代码。
我的问题是,是否可以将状态代码从 400 更改为 422(不可处理的实体)?
您必须创建一个 Filter
来捕获 BadRequestExceptions
并将它们自己转换为 422。无论您是只想更改状态代码还是整个错误响应,您应该具有对 res
对象的完全访问权限,然后能够进行更改。
我想在验证阶段更改状态代码。
import { IsEmail, IsNotEmpty } from 'class-validator';
export class CreateUserDto {
@IsEmail()
email: string;
@IsNotEmpty()
password: string;
}
有了这些规则,如果请求到达我们的端点并在请求正文中包含无效电子邮件 属性,应用程序将自动响应 400 错误请求代码。
我的问题是,是否可以将状态代码从 400 更改为 422(不可处理的实体)?
您必须创建一个 Filter
来捕获 BadRequestExceptions
并将它们自己转换为 422。无论您是只想更改状态代码还是整个错误响应,您应该具有对 res
对象的完全访问权限,然后能够进行更改。