计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
angular-http-client【效率与协作】Integrate HttpClient, Interceptors, and API interactions in Angular. Use when integrating HttpClient, writing interceptors, or handling API calls in Angular.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
(req, next) => next(req.clone({ setHeaders: { Authorization: token } }))). Clone requests with req.clone( — class-based interceptors deprecated. Register via withInterceptors([...]) in provideHttpClient.http.post<T>(), http.get<T>(). Use inject(HttpClient) in services (not constructor injection). Add provideHttpClient(withInterceptors([...]), withFetch()) to app.config.ts.http in Components.Prefer httpResource() over manual subscribe for reactive data loading — it auto-refetches when its signal inputs change:
// Reactive: refetches automatically when userId() changes
userResource = httpResource<User>(() => `/api/users/${this.userId()}`);
// States: .isLoading() | .hasValue() | .error() | .value() | .reload()
Use resource<T, P>({ request: () => params(), loader: ... }) for non-HTTP async operations with full .isLoading() lifecycle control.
shareReplay(1) in services.catchError or global interceptors, not components. Use notification service for display.HttpInterceptorFn functional interceptors.toSignal(http.get(...)) instead.When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:
Encapsulate all HTTP calls
auto-refetches
http.post
skip error handling
Additional task-grounded exact anchors: notification service