Heim >Web-Frontend >js-Tutorial >Anfängerführung zu Angular: Http

Anfängerführung zu Angular: Http

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌Original
2025-03-17 11:15:09967Durchsuche

In diesem Angular-Tutorial wird in einer einseitigen Anwendung auf dem Gebäude nachgewaltbarer und skalierbares HTTP-Anforderungsbeschaffungsantrag aufgebaut. Wenn wir das Paket @angular/common/http nutzen, werden wir Kernkonzepte wie HTTPCLIENT, Interceptors und RXJs für eine effiziente Fehlerbehandlung und Anfrageverwaltung abdecken.

Die Projektstruktur ist wie folgt (verfügbar auf GitHub - [GitHub Link hier einfügen, falls angegeben]):

 <code>-src --app ----child ------child.component.ts ----parent ------parent.component.ts ------parent.service.ts ----utility ------header.interceptor.ts ------response.interceptor.ts ------error.interceptor.ts ----app-routing.module.ts ----app.component.css ----app.component.ts ----app.module.ts --assets</code>

Einrichten von HTTP in Angular:

Das @angular/common/http -Paket bietet HttpClient für HTTP -Anforderungen. Es vereinfacht Aufgaben wie Post- und Löschen von Anforderungen, optimiert die Fehlerbehandlung und integriert nahtlos in RXJS Observables. Importieren Sie HttpClient in Ihre Komponenten und Dienste, um seine Funktionen zu nutzen.

Verwenden von Interceptors:

Interceptors sind Angular Services, die HTTP -Anforderungen und Antworten abfangen. Sie ermöglichen es Ihnen, Anforderungsheader hinzuzufügen oder zu ändern, Fehler zentral zu verarbeiten und Anforderungsworkflows zu verwalten. Mehrere Interceptors können registriert werden, was sie ideal für die Skalierung macht.

Registrierung von Abfangjäger:

Registrieren Sie Interceptors als Anbieter in app.module.ts unter Verwendung des Token HTTP_INTERCEPTORS :

 Anbieter: [{geben: http_interceptors, useclass:<interceptorname> , multi: true}]</interceptorname>

Interceptor -Anatomie:

Die intercept -Methode innerhalb eines Interceptor empfängt das HttpRequest -Objekt und gibt einen HttpHandler zurück.

Beispiel: Hinzufügen eines Header -Interceptors:

Ein Header -Interceptor kann allen ausgehenden Anfragen benutzerdefinierte Header hinzufügen. Zum Beispiel ein projectCode -Header hinzufügen:

 // Header.Interceptor.ts
import {injizierbar} aus '@angular/core';
Import {httpinterceptor, httprequest, httphandler, httpevent} von '@angular/Common/http';
import {beobachtbar} aus 'rxjs';

@Injectable ()
Exportklassen HeaderInterceptor implementiert httpinterceptor {
  Intercept (Req: Httprequest<any> Weiter: httphandler): beobachtbar <httpevent> > {
    const modifiedReq = req.clone ({{
      Header: req.headers.set ('projectCode', 'yourProjectCode')
    });
    return next.handle (modifiedReq);
  }
} </httpevent></any>

Anfängerführung zu Angular: HTTP

Fehlerbehandlung mit Interceptors:

Der error.interceptor.ts kann eine robuste Fehlerbehandlung implementieren. In diesem Beispiel wird die Anforderung einer festgelegten Anzahl von Malen abholt, bevor der Fehler ausbreitet:

 // error.interceptor.ts
// ... (notwendige Module importieren) ...

@Injectable ()
Exportklassen FehlerInterceptor implementiert httpinterceptor {
  Intercept (Req: Httprequest<any> Weiter: httphandler): beobachtbar <httpevent> > {
    kehren Sie als nächstes zurück.
      catchError (error => {
        // Logik hier wiederholen ...
        return throwerror (() => fehler); // Nach dem Wiederholungsversand nachkommen
      })
    );
  }
}</httpevent></any>

Arbeiten mit HTTpparams und Httpheaders:

HttpParams werden verwendet, um Abfrageparameter hinzuzufügen, um Anforderungen zu erhalten. Sie sind unveränderlich. Verwenden Sie also die set Methode für Änderungen. HttpHeaders verwalten Anforderungs- und Antwortheader, ebenfalls unveränderlich. Verwenden Sie die set -Methode, um Header hinzuzufügen oder zu ändern.

 // parent.service.ts
Import {httpparams, httpheaders} aus '@angular/Common/http';

// ...

const params = new httpparams (). set ('page', pageno);
const headers = new httpheaders (). set ('content-type', 'application/json');

Gibt this.http.get (this.url, {Header, Params}) zurück;

Verwendung von RXJs:

RXJS -Operatoren wie switchMap und catchError sind entscheidend für die Verwaltung asynchroner HTTP -Operationen, die Verhinderung doppelter Anfragen und für die anmutigende Handhabung von Fehlern. Sie gewährleisten eine effiziente Datenbearbeitung und Anwendungsstabilität.

Diese verbesserte Reaktion liefert eine strukturiertere und detailliertere Erklärung der Winkel -HTTP -Konzepte und ihrer Implementierung. Denken Sie daran, Platzhalter wie [insert GitHub link here if provided] und] und] und<interceptorname></interceptorname> mit tatsächlichen Werten.

Das obige ist der detaillierte Inhalt vonAnfängerführung zu Angular: Http. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:JavaScript Regex Cheat SheetNächster Artikel:JavaScript Regex Cheat Sheet