我在看NestJs医生。还有这张照片。
过滤器更倾向于客户端,管道更面向控制器。对我来说都很相似。
管道和过滤器与它们各自的通用用例有什么不同?
发布于 2020-08-01 12:29:05
管道的目的是使用来自请求的传入数据,无论是url或查询参数,还是请求主体,并对它们执行一些验证和/或转换,以确保它们是服务器所期望的形状。Nest有一些内置的实用程序(如ValidationPipe )来帮助解决这个问题。
另一方面,过滤器(AKA异常过滤器)用于捕获在执行请求期间发生的错误并处理它,以良好的格式将错误发送回客户端,负责发送正确的错误代码,以及您拥有的任何其他错误处理逻辑(例如可能发送到监视服务)。Nest有一个内置的ExceptionFilter,可以很好地管理这一点,但是您始终可以创建自己的,以不同的方式处理逻辑。
https://stackoverflow.com/questions/63205074
复制