2017-11-21 15 views
-2

Angularでは最も基本的で頭痛のない残りの実装は何ですか?Angular 2+での基本的なREST

私が疲れてきたこの:

バックがSETRPこのようなものです:localhostを:3000 /可能呼び出しで トドス:/ IDを入れて、ID /ポストを取得し、取得するには、/ ID

を削除

私はこのURLで数字をつけていますhttp://localhost:3000/todos/${term}/${id}私はすべて私の残りの呼び出しを一つの方法にリファクタリングしました。すべての私の喜びが停止

はここにある:

enter image description here enter image description here

私は完全に間違った方法を閉じたりつもり?

+1

TypeScriptを使用しているため、実際に型メンバーを宣言する必要があります。 'http'も' results'も定義されていませんので、もちろんそれらのコンパイラエラーを取得します。 HTTPオブジェクトを取得するには、依存関係注入を介して* Httpを注入する必要があることに注意してください。 Angularマニュアルを確認してください。 – poke

+0

ありがとうございました。ドキュメントはかなり悪いです。 – tatsu

+1

[HttpClientのガイド](https://angular.io/guide/http)は実際にはかなり徹底的です。 – poke

答えて

2

角度2以上では、すべてのhttpコールをサービス内に追加します。しかし、あなたのエラーを修正するには、これを試してください。

import { Component, OnInit } from '@angular/core'; 
import { Http } from '@angular/http'; 
@Component({ 
    selector: 'app-home', 
    templateUrl: './home.component.html', 
    styleUrls: ['./home.component.scss'] 
}) 
export class HomeComponent implements OnInit { 

    results: any; 

    constructor(private http: Http) { } 

    restCall(term:string, id:string) { 
    let promise = new Promise((resolve, reject) => { 
     let apiURL = `http://localhost:3000/todos$/{term}/${id}`; 
     this.http.get(apiURL) 
     .toPromise() 
     .then(
      res => { // Success 
      this.results = res.json().results; 
      resolve(); 
      }, 
      msg => { // Error 
      reject(msg); 
      } 
     ); 
    }); 
    return promise; 
    } 
} 

私はHttpサービスをインポートし、コンストラクタ内で宣言しました。 結果変数はローカル変数ではないので、コンストラクタの前に宣言する必要があります。

関連する問題