2015-11-11 6 views
8

角2 - Httpの約束を書くにはどうしたらいいですか?角2 - 私のヘッダーにHttpを約束する方法を書くには

httpをインポートしていて、認証ヘッダーでhttpヘッダーを設定します。 次に、http getを記述して、それを呼び出すメソッドに戻るという約束に応答を入れたいと思います。

は、これまでのところ私はこれを持っている:

import {Http, Headers} from "angular2/http"; 
import {EnvironmentService} from './environmentService'; 

export class AuthService { 
    private environmentService: EnvironmentService; 
    private http: Http; 
    private header: Headers; 

    contructor(_environmentService: EnvironmentService, _http: Http, _header: Headers){ 
     this.environmentService = _environmentService; 
     this.http = _http; 

     this.header.append('Authorization', '1234'); 
     this.header.append('Content-Type', 'application/json');  
    } 

    getSpotifyData =():Promise<Object> => { 
     return this.http 
      .get('http://ws.spotify.com/search/1/track.json?q=foo',    {headers:this.header}) 
      .map((response) => { 
      return response.json() 
      }) 
      .toPromise(); 
    } 

} 

感謝を事前に!

+2

便宜のためにコードを表示 –

+0

コードがちょうど上に追加されました – AngularM

答えて

11

あなたはhttp.getメソッドの第2引数にheadersを渡すことができますし、PromiseObservableを変換する.toPromiseメソッドを使用することができます。

export class AuthService { 
    // ... 

    testApiCall(): any { 
    return this.http 
     .get('http://localhost:3333/api/', { 
     headers: { 
      'Authorization': 'BearerTokenGoesHear' 
     } 
     }) 
     .map((response) => { 
     // some response manipulation 
     return response.json() 
     }) 
     .toPromise(); 
    } 
} 

this exampleをご覧ください。

+0

こんにちは、私はあなたが言ったことをやったことがあります。 トップに自分のコードを更新して、現在どこにいるのかを示しています。ありがとうございます – AngularM

+0

私はあなたが何を持っているのエラーがわかりません。 'testApiCall'の戻り値の型を' any'に変更してみてください。多分それが助けになるでしょう。 – alexpods

関連する問題