2017-07-22 11 views
0

ウェブサービスの依存関係を避けるために、すべてのモックJSONを使用してアプリケーションを起動します。実際のサービスを呼び出す代わりに最小限の変更でJSONをモックする理想的な方法は、ローカルのファイルからの応答を取得する必要があります。私はすべて私のモックJSONファイルを保持するフォルダを持っています。アングル4プロジェクトのテスト用にJSONレスポンスを模擬するにはどうすればいいですか

+0

httpサービスを作成し、モックがある絶対パスを指定することができます。いったん確認したら、モックパスを実際のAPI –

+0

に更新できます。どのように私は切り替えることができますか? – Hacker

答えて

0

私のアプリでは、JSONファイルを含む「API」というフォルダを作成します。各JSONファイルはhttp.get呼び出しを表します。

例:あなたのAPIサービスで

、データメンバを作成するには、mockと呼ばれる:

private mock = false; 

のは、あなたが人々のリストを受信するためのAPIを持っているとしましょう。実際のレスポンスをJSONファイル(例:people.JSON)にコピーし、apiのような模擬データフォルダに保存します。

実際のAPIデータにアクセスせずにアプリケーションを実行する場合は、mocktrueに設定してください。

private mock = true; 

と機能:

getPeopleList() : Observable<any> { 
    var endpoint = this.myEndpoint; // Your real API url 

    if(this.mock) { 
     endpoint = '/api/people.json'; 
    } 

    return this.http.get(endpoint) 
     .map(this.extractData) 
     .catch(this.handleError); 
} 

希望これはあなたが何を意味するかです。

+0

POSTコールでgetコールで切り替える必要がある場合はどうなりますか? – Hacker

+0

GET、POSTなどの模擬応答を持つ単純なnodeJS APIを作成し、Angularプロジェクトから使用することができます。 サンプル: 「express」からのインポートエクスプレス。 '../mocks/mockJSON.json'からmockJSONをインポートします。 const app = express(); app.get( '/ url /'、(req、res)=> { \t res.status(200).json(mockJSON); }); app.listen(8080、()=> console.log( "localhostで実行中:8080")); – Sareesh

関連する問題