Chciałbym wiedzieć, który z nich użyć do stworzenia fałszywej usługi sieci Web w celu przetestowania programu Angular?Różnica między HTTP a HTTPClient w kanciastym 4?
Odpowiedz
Użyj klasę HttpClient
z HttpClientModule
jeśli używasz kątowa 4.3.x oraz powyżej:
import { HttpClientModule } from '@angular/common/http';
@NgModule({
imports: [
BrowserModule,
HttpClientModule
],
...
class MyService() {
constructor(http: HttpClient) {...}
Jest to ulepszona wersja http
z modułem @angular/http
następujące ulepszenia:
- Interceptory umożliwiają wstawienie logiki oprogramowania pośredniego do potoku
- Niezmienne żądanie/odpowiedź ob przedmiot badania
- wydarzenia Progress zarówno dla wysyłania żądań i odpowiedzi pobierz
można przeczytać o tym, jak to działa w Insider’s guide into interceptors and HttpClient mechanics in Angular.
- wpisane, synchroniczny dostęp ciało odpowiedź, w tym wsparcie dla typów nadwozia JSON
- JSON jest założyć domyślna i nie musi być wyraźnie analizowany
- Post-prośba ramy badania oparte weryfikacja & równo
Idąc dalej stary klient HTTP będzie przestarzały. Oto linki do commit message i the official docs.
zapłacić również uwagę, że stary http wstrzyknięto używając Http
klasy tokenu zamiast nowego HttpClient
:
import { HttpModule } from '@angular/http';
@NgModule({
imports: [
BrowserModule,
HttpModule
],
...
class MyService() {
constructor(http: Http) {...}
Również nowy HttpClient
wydają się wymagać tslib
w czasie wykonywania, więc trzeba go zainstalować npm i tslib
i aktualizować system.config.js
jeśli używasz SystemJS
:
map: {
...
'tslib': 'npm:tslib/tslib.js',
A trzeba dodać kolejny mapowanie jeśli używasz SystemJS:
'@angular/common/http': 'npm:@angular/common/bundles/common-http.umd.js',
Próbuję zaimportować HttpClientModule. Ale "@kamular/common/http" nie występuje w katalogu node_modules, który został zainstalowany za pomocą polecenia "npm start". Możesz pomóc? –
@DheerajKumar, której wersji używasz? jest dostępny tylko w wersji 4.3.0 i wyższej niż –
Pobrałem kątowy szybki start z git. i In package.json, "@ kątowy/wspólny": "^ 4.3.0" jest obecny. ale nie ma @ angle/common/http. –
Nie chcemy być powtarzalne, ale po prostu podsumować w inny sposób:
- Automatyczna konwersja z formatu JSON do obiektu
- definicja typu odpowiedzi
- Zdarzenie wypalania
- Uproszczona składnia nagłówków
- Interceptory
Napisałem artykuł, w którym omówiłem różnicę między starym "http" a nowym "HttpClient". Celem było wyjaśnienie go w najprostszy możliwy sposób.
- 1. Różnica między programowaniem gniazd a programowaniem Http
- 2. Różnica między parametrem zapytania HTTP a parametrem formularza HTTP?
- 3. Różnica między pipetowaniem HTTP a multipleksowaniem HTTP za pomocą SPDY
- 4. Jaka jest różnica między http: // *: 80 a http: // +: 80
- 5. Jaka jest różnica między null_session a reset_session w Railsach 4?
- 6. Połączenie HTTP, różnice między Androidem 2.3 a 4
- 7. Angular 4 http get z parametrami - różnica między wyszukiwaniem a parametrami
- 8. Różnica między || a = b i a = a || b w rubin?
- 9. Różnica między obiektem a *?
- 10. Różnica między jquery a $
- 11. Różnica między automatycznym ładowaniem PSR-4 a mapą klas?
- 12. Node.js HTTP/NET - różnica między połączeniem a żądaniem
- 13. Różnica między kodem stanu odpowiedzi HTTP 402 a 403
- 14. Różnica między KeyStore a KeyManager/TrustManager
- 15. Kątowa aktualizacja 2 do 4, przejście z Http do HttpClient
- 16. Różnica między WebMvcConfigurationSupport a WebMvcConfigurerAdapter
- 17. Różnica między http i www
- 18. Co to jest "surowy nagłówek HTTP"? Jaka jest różnica między "nagłówkiem HTTP" a "nieprzetworzonym nagłówkiem HTTP"?
- 19. Różnica między $ 1 a% 1 w .htaccess
- 20. Różnica między bip pid a $$
- 21. określić czas żądania w kanciastym $ http
- 22. HttpClient: Jaka jest różnica między ServiceUnavailableRetryStrategy i HttpRequestRetryHandler?
- 23. Różnica między zapytaniem a powiedzeniem w Akce?
- 24. Różnica między String [] a i String ... a
- 25. Różnica między "sekcją" a "segmentem" w NASM
- 26. Różnica między DataSource a DataSet
- 27. Różnica między mapą a dyktowaniem
- 28. Różnica między systemem a shell_exec
- 29. Różnica między% 5B% a% 5B0%?
- 30. Różnica między wysokością a tłumaczeniemZ
[* "HttpClient jest ewolucją istniejącego Kątowymi API HTTP, który istnieje obok niego w osobnym opakowaniu ..." *] (https://github.com/angular/angular/commit/37797e2). – jonrsharpe
Właściwie napisałem o niektórych nowych funkcjach na moim blogu: http://blog.jonrshar.pe/2017/Jul/15/angular-http-client.html – jonrsharpe
https://angular.io/guide/http – yurzui