Angular HttpClient Interceptors: Adding Auth Tokens and Error Handling
Angular HttpClient Interceptors: Adding Auth Tokens and Error Handling
HTTP interceptors in Angular allow you to modify requests and responses globally. They are perfect for authentication and error handling.
Common interceptor use cases:
- Adding JWT tokens to every API request
- Global error handling and retry logic
- Loading spinners for HTTP requests
- Caching responses
- Logging request/response details
Example auth interceptor:
export const authInterceptor: HttpInterceptorFn = (req, next) => {
const token = inject(AuthService).getToken();
const cloned = req.clone({ setHeaders: { Authorization: `Bearer ${token}` } });
return next(cloned);
};
Error handling interceptor pattern:
- Catch 401 errors and redirect to login
- Catch 500 errors and show user-friendly messages
- Implement retry logic for network failures
- Log errors to monitoring service
Interceptors keep your code DRY and maintainable. Share your interceptor patterns!
HTTP interceptors are one of Angular's most powerful features for cross-cutting concerns. Using functional interceptors in newer Angular versions makes them even cleaner to implement. Chaining multiple interceptors for auth tokens, error handling, loading indicators, and request caching creates a robust HTTP layer without cluttering individual service calls.