Wrap around request handling to run logic before and after your controller executes.
Interceptors sit around the execution of a route handler, giving you a chance to run code before the handler executes and after it produces a result. They can also transform responses, add logging, measure execution time, or implement other cross-cutting behavior.
Because interceptors work with RxJS observables internally, they can transform the result returned by a controller. This makes them especially useful when you need consistent behavior across many endpoints without repeating the same code in every controller.
What you'll walk away knowing