【发布时间】:2016-10-11 01:25:33
【问题描述】:
我正在用 angular2 编写一个应用程序,我想模拟后端,但目前还没有准备好。
这是我的服务:
import { Injectable } from '@angular/core';
import { Http, Headers, Response, RequestOptions } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import { Item } from './item';
@Injectable()
export class ItemService {
private itemUrl = 'api/item'; // URL to web api
constructor(private http: Http) { }
getItems(): Observable<Item[]> {
return this.http
.get(this.itemUrl)
.map(this.extractData)
.catch(this.handleError);
}
addItem(name: string): Observable<Item> {
let body = JSON.stringify({ name });
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.post(this.itemUrl, body, options)
.map(this.extractData)
.catch(this.handleError);
}
private extractData(res: Response) {
let body = res.json();
return body.data || {};
}
private handleError(error: any) {
let errMsg = 'error';
return Observable.throw(errMsg);
}
}
并且我想拦截在我的 TypeScript 代码中对“itemUrl”发出的每个请求,并对通常的列表进行简单的操作。
【问题讨论】:
标签: angular mocking xmlhttprequest backend