2016-10-10 5 views
1

私はangle2でアプリケーションを作成していますが、私はこの時点では準備ができていないバックエンドを模擬したいと思います。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); 
    } 
} 

そして私は私の活字体のコードでは「itemUrl」を作っているすべての要求を傍受し、通常のリスト上の簡単な操作をしたいと思い。

答えて

1

おそらくangular-in-memory-web-apiを使用してください。例については、this postを参照してください。 the documentationもチェックしてください。長期的には、これを使用すると、AngularのMockBackendを使用するよりも時間が節約されます。ユニットテストテストの開発には、メモリ内Web-APIを両方使用できます。

+0

メモリ内の角形ウェブAPIが「実験的で実用には向いていない」という事実はどうですか? –

+1

@RuiMarquesなぜそれをプロダクションに使用したいですか?それは開発とデモだけに本当にあります。 –

関連する問題