【发布时间】:2018-07-11 15:51:40
【问题描述】:
我正在使用简单的 http 拦截器类通过标头将 jwt 令牌传递给服务器。 我已经编写了 http 拦截类,但是当我运行它时显示运行时错误.. 有没有人在 ionic 3 和 angular 5+ 中实现 http 拦截器..
请帮忙
我在这里附加 app.module.ts
providers: [
StatusBar,
SplashScreen,
StatusBar,HttpClient,
Push,
{provide: HTTP_INTERCEPTORS,useClass:TokenIntercepterProvider},
{provide: ErrorHandler, useClass: IonicErrorHandler},
StudentDetailsProvider,
EventServiceProvider,
EventServiceProvider,
AttendanceProvider,
GroupChatServiceProvider,
ChatserviceProvider,
RestProvider,
LocationServiceProvider,
GoogleMaps,
NativeGeocoder,
StudentparentinfoProvider,
RestusersProvider,
FcmProvider,
TokenIntercepterProvider
] })
这里是 tokenIntercepterProvider
import {HttpClient, HttpInterceptor} from '@angular/common/http';
import {Injectable, Injector} from '@angular/core';
import {HttpRequest,HttpHandler,HttpEvent} from "@angular/common/http";
import {Observable} from "rxjs/Observable";
import {Storage} from "@ionic/storage";
@Injectable()
export class TokenIntercepterProvider implements HttpInterceptor{
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const changedReq = req.clone({headers: req.headers.set('Authorization', 'Bearer xxx.xy.yyx')});
return next.handle(changedReq);
}
constructor(private inj:Injector) {
console.log('Hello TokenIntercepterProvider Provider');
}
}
这里我将字符串硬编码到不记名令牌,即使这不起作用
我运行时遇到的错误
我收到以下错误:Provider parse errors.mixing multi and no multi provider is not possible for token injection token _HTTP_INTERCEPTERS("[ERROR->]"): in NgModule AppModule in ./AppModule@-1:-1
【问题讨论】:
-
请将您的错误发布为文本,而不是图片。
-
请将您的错误以清晰的文本形式发布
-
请添加multi:true
-
@UnluckyAj 我错过了那部分。我想我已经添加了..感谢您的快速回复
标签: angular ionic3 ionic-native