import { Injectable } from '@angular/core'; import { Http, Headers, RequestOptions, Response } from

来源:互联网 发布:淘宝云客服判断题 编辑:程序博客网 时间:2024/05/29 10:11

登录 http://47.92.39.225:8080/ 查看更多文章

定义一个Angular2/4 service:
import { Injectable } from '@angular/core';import { Http, Headers, RequestOptions, Response } from '@angular/http'; import { User } from '../_models/index'; @Injectable()export class UserService {    constructor(private http: Http) { }     getAll() {        return this.http.get('/api/users', this.jwt()).map((response: Response) => response.json());    }     getById(id: number) {        return this.http.get('/api/users/' + id, this.jwt()).map((response: Response) => response.json());    }     create(user: User) {        return this.http.post('/api/users', user, this.jwt()).map((response: Response) => response.json());    }     update(user: User) {        return this.http.put('/api/users/' + user.id, user, this.jwt()).map((response: Response) => response.json());    }     delete(id: number) {        return this.http.delete('/api/users/' + id, this.jwt()).map((response: Response) => response.json());    }     // private helper methods     private jwt() {        // create authorization header with jwt token        let currentUser = JSON.parse(localStorage.getItem('currentUser'));        if (currentUser && currentUser.token) {            let headers = new Headers({ 'Authorization': 'Bearer ' + currentUser.token });            return new RequestOptions({ headers: headers });        }    }}