我是 NestJs 的新手,我创建了一个回退异常过滤器,现在我想知道如何使用它。换言之,如何将其导入我的应用程序?
这是我的后备异常过滤器:
@Catch(HttpException)
export class HttpExceptionFilter implements ExceptionFilter {
public catch(exception: HttpException, host: ArgumentsHost): any {
/* Some code here */
return response.status(statusCode).json({
status: statusCode,
datetime: new Date(),
createdBy: "HttpExceptionFilter",
errorMessage: exception.message,
})
}
}
最佳答案
您需要全局绑定(bind)过滤器才能作为后备。您可以通过以下两种方式之一执行此操作
- 在任何模块中使用自定义提供程序。将其添加到模块的
providers
数组
{
provide: APP_FILTER,
useClass: HttpExceptionFilter
}
这仍然会在 e2e 测试中生效,因为它是模块定义的一部分
- 像这样在您的
bootstrap
方法中使用useGlobalFilters
app.useGlobalFilters(new HttpExceptionFilter());
这不会在您的 e2e 测试中生效,因此如果您想要相同的功能,您也需要将其绑定(bind)到这些测试中。
关于nestjs - 你如何在 NestJs 中使用回退异常过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67320350/