web-dev-qa-db-ja.com

Angular 2 - HTTP RequestOptionsヘッダ

私は現在tslintに問題があり、誰かが私を正しい方向に向けることを望んでいました。

Angular 2フレームワークで提供されているHTTPを使用してHTTP GETリクエストを送信しようとしています。この要求で、私はcontent-typeとbearer authentication tokenを指定しなければなりません。

私のコードの例:

let headers = new Headers();
let authToken = this._user.getUser().JWT;
headers.append('Content-Type', 'application/json');
headers.append('Authorization', `Bearer ${authToken}`);
let options = new RequestOptions({ headers: headers });

this._http.get('http://' + url '/', options)
            .timeout(3000)
            .subscribe(
                (res) => {

これはうまくいきますが、tslintは次のように文句を言っています。

"TS2345:タイプ '{headers:Headers;}'の引数は、タイプ 'RequestOptionsArgs'のパラメータに割り当てることはできません。プロパティ 'headers'のタイプは互換性がありません。この名前のプロパティは存在しますが、関連性はありません。プロパティ 'keys'はタイプ 'Headers'にありません。

サポートに感謝します。

70
Zander17

更新

今日の時点で、@angular/http非推奨 であり、代わりに@angular/common/httpを使用する必要があります。そのため、httpヘッダを扱う最も良い方法はimport { HttpHeaders } from '@angular/common/http';ドキュメント )をインポートすることです。

古い答え

あなたがインポートしようとしているHeaders型はimport { Headers } from '@angular/http';です。

あなたの輸入をチェック

199
bviale

ヘッダを更新する必要があります。

let headers =  {headers: new  HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded'})};
8
Vivek Kapoor

Angular 5用の更新

import { RequestOptions } from '@angular/http';

私は正しい答えからのコメントでこれを見つけたので、これが誰かに役立つのであれば、頑張ってください。

ドキュメント: https://angular.io/api/http/RequestOptions

5
ValRob

//コンテンツタイプJsonのヘッダの例

import { Http, Headers, RequestOptions } from '@angular/http';

const Url = 'http://localhost:3000/';
const headers = new Headers;
const body = JSON.stringify({
title: "data" 
});
headers.append('Content-Type', 'application/json');
this.http.post(Url, body, { headers: headers })
.pipe(map((res => res)));
1
arul prince