作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在documentation中没有找到方法为 HTTP 请求设置基本 API URL。是否可以使用 Angular HttpClient 执行此操作?
最佳答案
使用新的 HttpClient 拦截器。
创建一个实现 HttpInterceptor
的合适的注入(inject):
import {Injectable} from '@angular/core';
import {HttpEvent, HttpInterceptor, HttpHandler, HttpRequest} from '@angular/common/http';
import {Observable} from 'rxjs/Observable';
@Injectable()
export class APIInterceptor implements HttpInterceptor {
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const apiReq = req.clone({ url: `your-api-url/${req.url}` });
return next.handle(apiReq);
}
}
HttpInterceptor 可以克隆请求并根据需要更改它,在这种情况下,我为所有 http 请求定义了一个默认路径。
为 HttpClientModule 提供以下配置:
providers: [{
provide: HTTP_INTERCEPTORS,
useClass: APIInterceptor,
multi: true,
}
]
现在您所有的请求都将以 your-api-url/
开头
关于angular - 如何为 Angular HttpClient 设置 baseUrl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45735655/
我是一名优秀的程序员,十分优秀!