2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

【Angular】Angular 18 アップデートで HttpClientModule たちが provideHttpClient に置き換わる

Last updated at Posted at 2024-06-30

前回、記事を書いていて、
マイグレーション個別に取り上げた方が記事として読みやすそうと思ったので、今回は内容を絞ってお届けする。

というわけで、Angular 18 にアップデートする際、実行されるマイグレーションの一つに、HttpClientModuleたちが provideHttpClient に置き換わる、というやつがあるので紹介する。

文字通り HttpClientModule HttpClientXsrfModule HttpClientJsonpModule たちは非推奨となるので、provideHttpClient withJsonpSupport withXsrfConfigurationに置き換わるという内容。
XsrfModule とか JsonpModule とかそもそも使ったことねえなあ、という感じではある。

Http Modules

Before

import { HttpClientModule, HttpClientJsonpModule, HttpClientXsrfModule } from '@angular/common/http';

@NgModule({
    imports: [CommonModule, HttpClientModule, HttpClientJsonpModule, HttpClientXsrfModule]
})
export class AppModule {}

After

import { provideHttpClient, withJsonpSupport, withXsrfConfiguration } from '@angular/common/http';

@NgModule({
    imports: [CommonModule],
    providers: [provideHttpClient(withJsonpSupport(), withXsrfConfiguration())]
})
export class AppModule {}

Testing

HttpClientTestingModuleprovideHttpClientTesting()へと置き換わるようだ。

Before

import { HttpClientTestingModule } from '@angular/common/http/testing';

describe('some test', () => {

    it('...', () => {
      TestBed.configureTestingModule({
        imports: [HttpClientTestingModule]
      })
    })
})

After

import { provideHttpClientTesting } from '@angular/common/http/testing';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';

describe('some test', () => {

    it('...', () => {
      TestBed.configureTestingModule({
        providers: [provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()]
      })
    })
})

これらは動作的には互換性があり、非推奨になっている API たちはまだ削除されてないっぽいけど、これを機に置き換えておくと良さそうですね。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?