首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我添加{ provide: HTTP_INTERCEPTOR .}时的HTTP_INTERCEPTOR输出

当我添加{ provide: HTTP_INTERCEPTOR .}时的HTTP_INTERCEPTOR输出
EN

Stack Overflow用户
提问于 2018-08-28 06:23:42
回答 1查看 227关注 0票数 1

嘿伙计们!,这就是我要做的:

https://github.com/jonny720/do-here-client/blob/master/do-here/app/%40shared/services/aute.interceptor.ts

我对HTTP_INTERCEPTOR有一个问题,我想要构建拦截器,它将向我的应用程序中的每个http请求添加标题。

但是当我在app.module.ts添加这一行时,应用程序没有启动。

提供程序:{ HTTP_INTERCEPTORS,useClass:AuthInterceptor,multi:true}

,你认为问题是什么?(谢谢:)

auth.interceptor.ts:

代码语言:javascript
复制
import { Injectable } from "@angular/core";
import {HttpRequest,HttpHandler,HttpEvent,HttpInterceptor} from '@angular/common/http';
import { AuthGuard } from './auth-guard.service';
import { Observable } from "../../../node_modules/rxjs";

@Injectable()
export class AuthInterceptor implements HttpInterceptor {
  // constructor(public auth: AuthGuard){}
    intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
      // const authToken = appSettings.getString('token');
      // console.log("token is  "+authToken);

      //   request = request.clone({
      //       setHeaders: {
      //         Authorization: `Bearer ${appSettings.getString('token')}`
      //       }
      //     });
      console.log("intercepted", request);
          return next.handle(request);
        }
}

app.module.ts:

代码语言:javascript
复制
import { NgModule, NO_ERRORS_SCHEMA, Injectable, ModuleWithProviders } from "@angular/core";
import { NativeScriptModule } from "nativescript-angular/nativescript.module";
import { AppComponent } from "./app.component";
import { NativeScriptRouterModule } from "nativescript-angular/router";
import { NativeScriptHttpModule } from "nativescript-angular/http";
import { NativeScriptHttpClientModule } from "nativescript-angular/http-client";
import { SharedModule } from "~/@shared/shared.module";
import { PagesModule } from "~/pages/pages.module";
import { APP_ROUTES } from "~/app.routes";
import { NativeScriptFormsModule } from "nativescript-angular/forms";
import { HTTP_INTERCEPTORS } from "../node_modules/@angular/common/http";
import { AuthInterceptor} from "~/@shared/services/aute.interceptor";

@NgModule({
    bootstrap: [AppComponent],
    imports: [
        NativeScriptHttpClientModule,
        NativeScriptRouterModule,
        NativeScriptRouterModule.forRoot(APP_ROUTES),
        NativeScriptModule,
        NativeScriptFormsModule,
        SharedModule.forRoot(),
        PagesModule
    ],
    declarations: [AppComponent,],
    providers: [ {provide: HTTP_INTERCEPTORS, useClass:AuthInterceptor, multi:true}],
    schemas: [NO_ERRORS_SCHEMA]
})
export class AppModule { }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-28 06:52:22

尝试放入共享模块

shared.module.ts:

代码语言:javascript
复制
providers: [ {provide: HTTP_INTERCEPTORS, useClass:AuthInterceptor, multi:true}]

在app.module.ts中:

代码语言:javascript
复制
import { SharedModule } from './shared/shared.module';


imports: [

        SharedModule
   ]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52051353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档