Guards vs Resolvers vs Interceptors (Clear Decision Guide)
Stop mixing responsibilities. Learn exactly what each tool is for and how to design clean Angular architecture.
Angular gives multiple tools that look similar, but their responsibilities are different. ## Guards Purpose: decide if navigation is allowed Examples: - user must be logged in - user must have role admin - prevent leaving page if unsaved changes ## Resolvers Purpose: fetch required data before route activates Examples: - load user profile before opening /profile - load product details before /products/:id ## Interceptors Purpose: modify or react to HTTP requests and responses Examples: - attach JWT token - handle 401 globally - log request durations ## Decision table (easy) - Navigation control = Guard - Preload route data = Resolver - HTTP cross-cutting behavior = Interceptor > Next: Advanced RxJS patterns, retry, backoff, and caching API responses.