Гнездо Js Труба против фильтра - PullRequest
0 голосов
/ 01 августа 2020

Перебирал Nest Js Docs. И вот это изображение.

https://docs.nestjs.com/pipes

гнездо на диаграмме фильтра и трубопровода Js

Фильтры больше ориентированы на клиентскую сторону, а каналы - на контроллеры. Мне оба кажутся похожими.

В чем разница между Pipe и filter с их соответствующими общими сценариями использования?

1 Ответ

1 голос
/ 01 августа 2020

Каналы предназначены для приема входящих данных из запроса, будь то URL-адрес, параметры запроса или тело запроса, и выполняют некоторые проверки и / или преобразования на них, чтобы убедиться, что они соответствуют форме вашего сервера ожидает, что они будут. В Nest есть несколько встроенных утилит, таких как ValidationPipe , чтобы помочь с этим.

Фильтры (AKA Exception Filters) , с другой стороны, предназначены для обнаружения ошибок, которые произошли выполнение запроса и его обработка, отправка ошибки обратно клиенту в удобном формате, забота об отправке обратно правильных кодов ошибок и любые другие логики обработки ошибок c, которые у вас есть (например, отправка в службу мониторинга ). Nest имеет встроенный ExceptionFilter, который прекрасно справляется с этим, но вы всегда можете создать свой собственный, чтобы c обрабатывать logi иначе.

...