• @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}],
  • 相关阅读:
    今晚的比赛(2011.12.4)
    js中prototype,constructor的理解
    laravel中empty(),is_null() 以及isEmpty()
    mysql查询语句and,or
    jquery简易tab切换
    Qt 的QcomboBox的简单使用
    折半查找
    C++强制类型转换(转)
    二叉树学习
    c++的重载,覆盖与隐藏
  • 原文地址:https://www.cnblogs.com/Nyan-Workflow-FC/p/8037683.html
Copyright © 2020-2023  润新知