[解決済み】HttpModuleとHttpClientModuleの違いについて
2022-04-04 11:17:56
質問
Angular 4アプリをテストするためにモックWebサービスを構築するには、どれを使用すればよいですか?
どのように解決するのですか?
を使用します。
HttpClient
クラスから
HttpClientModule
は、Angular 4.3.x 以降を使用している場合に使用します。
import { HttpClientModule } from '@angular/common/http';
@NgModule({
imports: [
BrowserModule,
HttpClientModule
],
...
class MyService() {
constructor(http: HttpClient) {...}
のアップグレード版です。
http
から
@angular/http
モジュールに以下の改良を加えました。
- インターセプターにより、ミドルウェアのロジックをパイプラインに挿入することが可能
- イミュータブルなリクエスト/レスポンスオブジェクト
- リクエストのアップロードとレスポンスのダウンロードの両方に対する進行状況イベント
その仕組みは、以下のページでご覧いただけます。 AngularのインターセプターとHttpClientの仕組みについてのインサイダーガイド .
<ブロッククオート- JSONボディタイプのサポートを含む、型付き同期レスポンスボディへのアクセス
- JSONはデフォルトとして想定されているため、明示的にパースする必要がない
- ポストリクエスト検証 & フラッシュベースのテストフレームワーク
今後、古いhttpクライアントは非推奨となる予定です。以下は、そのリンク先です。 コミットメッセージ と 公式ドキュメント .
また、古い http を注入するために
Http
クラス・トークンの代わりに、新しい
HttpClient
:
import { HttpModule } from '@angular/http';
@NgModule({
imports: [
BrowserModule,
HttpModule
],
...
class MyService() {
constructor(http: Http) {...}
また、新たに
HttpClient
が必要なようです。
tslib
を実行時にインストールする必要があります。
npm i tslib
を更新し
system.config.js
を使っている場合は
SystemJS
:
map: {
...
'tslib': 'npm:tslib/tslib.js',
また、SystemJSを使用する場合は、別のマッピングを追加する必要があります。
'@angular/common/http': 'npm:@angular/common/bundles/common-http.umd.js',
関連
-
[解決済み】アンギュラーコンポーネントにサービスを注入しようとするとエラー "EXCEPTION: Can't resolve all parameters for component"、なぜ?
-
[解決済み] ngModel' は 'input' の既知のプロパティではないため、バインドできません。
-
[解決済み] コンストラクタとngOnInitの違いについて
-
[解決済み] formGroup' は 'form' の既知のプロパティではないため、バインドできません。
-
[解決済み] Angular HTMLバインディング
-
[解決済み] BehaviorSubjectとObservableの違い?
-
[解決済み] NGIf else "の使い方を教えてください。
-
[解決済み] Angularプロジェクトごとに生成される膨大な数のファイル
-
[解決済み] Angularの@Directiveと@Componentの比較
-
[解決済み】PromiseとObservablesの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Angularのエラーです。NgModuleアノテーションを追加してください。
-
[解決済み】「ルーター・アウトレット」は既知の要素ではない
-
[解決済み】エラー。どのルートにもマッチしません。URLセグメント: - Angular 2
-
[解決済み] 未定義のプロパティ 'filter' を読み取ることができません。
-
[解決済み] ERROR エラーです。StaticInjectorError(AppModule)[UserformService -> HttpClient]です。
-
[解決済み] Angular 8 NgForはArray errorやAcces Control Allow originなどのIterableへのバインディングのみをサポートしています。
-
[解決済み] ZoneAwarePromiseとは
-
[解決済み] AngularのmatSortがソートされない
-
[解決済み] ag-gridで「表示する行がありません」テキストをプログラムで変更するにはどうすればよいですか?
-
[解決済み] Angular 6 Error trying to diff '[object Object]'. 配列と反復記号のみが許可されます。