我正在使用Angular 17并实现了一个i18 n库,现在我需要向翻译模块发送的每个请求添加一个httpContent对象,以便我的拦截器可以确定它不必考虑此请求.
我的拦截器看起来是这样的:
export const authInterceptor: HttpInterceptorFn = (req, next) => {
const authSvc = inject(AuthService);
const router = inject(Router);
if (req.context.get(IS_PUBLIC_API)) {
return next(req);
}
...
我想将密钥"IS_PUBLIC_API"附加到翻译模块发送的每个请求,就像我对某些http请求所做的那样:
private readonly CONTEXT = {context: new HttpContext().set(IS_PUBLIC_API, true)};
login(body: Login): Observable<LoginResponse> {
return this.http.post<LoginResponse>(`${environment.apiUrl}/login`, body, this.CONTEXT);
}
翻译模块的配置如下:
TranslateModule.forRoot({
defaultLanguage: 'fr',
loader: {
provide: TranslateLoader,
useFactory: (http: HttpClient) => new TranslateHttpLoader(http),
deps: [HttpClient]
},
})