zoukankan      html  css  js  c++  java
  • @angular/cli项目构建--interceptor

    JWTInterceptor
    import {Injectable} from '@angular/core';
    import {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';
    import {Observable} from 'rxjs/Observable';
    
    @Injectable()
    export class JWTInterceptor implements HttpInterceptor {
    
      constructor() {
      }
      intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
        req = req.clone({
          setHeaders: {Authorization: 'Token Token_admin_id'}
        });
        return next.handle(req);
      }
    }
    ResponseInterceptor
    import {Injectable} from '@angular/core';
    import {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse} from '@angular/common/http';
    import {Observable} from 'rxjs/Observable';
    
    @Injectable()
    export class ResponseInterceptor implements HttpInterceptor {
    
      constructor() {
      }
    
      intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    
        return next.handle(req).map(event => {
          if (event instanceof HttpResponse) {
            switch (event.status) {
              case 401:
                // expired jwt go to login
                break;
              case 404:
                // not found
                break;
              case 403:
                // forbidden
                break;
              case 500:
                // service inner error
                break;
              default:
                console.log('data return successfully!');
            }
          }
          return event;
        });
      }
    }

    引入:

    import {HttpClientModule, HTTP_INTERCEPTORS} from '@angular/common/http';
    providers: [
        {provide: HTTP_INTERCEPTORS, useClass: JWTInterceptor, multi: true},
        {provide: HTTP_INTERCEPTORS, useClass: ResponseInterceptor, multi: true}],
  • 相关阅读:
    Java经典习题7
    Java经典习题6
    java经典习题5
    前后端分离开发——模拟数据mock.js
    微信网页第三方登录原理
    TP5常量
    TP5
    健忘的正则
    JS正则
    apache配置修改
  • 原文地址:https://www.cnblogs.com/Nyan-Workflow-FC/p/8037683.html
Copyright © 2011-2022 走看看