現在、tslintで問題が発生しており、誰かに正しい方向を教えてもらいたいと思っています。
Angular2フレームワークで提供されている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: Argument of type '{ headers:Headers; }' is not assignable to 'RequestOptionsArgs'型のパラメータに割り当てることができません。プロパティのタイプ 'headers' は互換性がありません。タイプ 'Headers'には割り当てられません。 この名前の2つの異なる型が存在しますが、それらは無関係です。 プロパティ 'keys' がタイプ 'Headers'." にありません。
応援よろしくお願いします。
**アップデートのお知らせ
今日の時点で、@angular/http
は deprecated となり、代わりに @angular/common/http
を使用することになりました。そのため、httpヘッダーを扱うには、import { HttpHeaders } from '@angular/common/http';
(document)をインポートするのが最善の方法です。
古い回答。
あなたがインポートすることになっているHeaders
タイプは、import { Headers } from '@angular/http';
です。
インポートの確認
でヘッダーを更新する必要があります。
let headers = {headers: new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded'})};
Angular 5のためのアップデート。
import { RequestOptions } from '@angular/http';
正解のコメント欄にあったので、誰かの参考になれば幸いです。