Jak wykonywać wywołania API w aplikacjach Angular

Opublikowany: 2023-05-25

Spis treści

Wprowadzenie: Dlaczego wywołania API są ważne w aplikacjach Angular

We współczesnej sieci znalezienie aplikacji działającej w izolacji jest rzadkością. Większość aplikacji komunikuje się z serwerami w celu pobierania, przechowywania lub manipulowania danymi, i właśnie tam wchodzą w grę wywołania API.

Weźmy kilka rzeczywistych przykładów, aby to zilustrować.

Rozważmy na przykład aplikację do rezerwacji podróży. W tym przypadku wywołania Angular API są używane do pobierania informacji o lotach, dostępności hoteli lub prognoz pogody z różnych interfejsów API. Dane pobrane z tych interfejsów API są następnie dynamicznie wyświetlane użytkownikowi, zapewniając bezproblemowe przeglądanie.

Innym przykładem może być aplikacja e-commerce, w której wykonywane są wywołania API w celu pobrania szczegółów produktu, informacji o użytkowniku, a także zarządzania koszykiem. Aplikacja wykonuje wywołania interfejsu API do interfejsu API po stronie serwera, który może wchodzić w interakcje z bazą danych w celu pobierania i przechowywania informacji.

W aplikacjach Angular wykonywanie wywołań API jest kluczowe dla połączenia aplikacji z zasobami po stronie serwera, umożliwiając aplikacji interakcję z usługami zaplecza. Zrozumienie, jak wywoływać interfejs API w Angular, jest zatem podstawową umiejętnością każdego programisty Angular.

Sprawdź nasze bezpłatne kursy, aby uzyskać przewagę nad konkurencją.

Konfigurowanie środowiska Angular dla wywołań API

Zanim zagłębimy się w proces wywoływania Angular API, najpierw skonfigurujmy nasze środowisko Angular.

Upewnij się, że masz zainstalowane w systemie Node.js i npm (Node Package Manager). Następnie zainstaluj globalnie Angular CLI (interfejs wiersza poleceń) za pomocą npm. To CLI pomoże nam bez wysiłku tworzyć i zarządzać naszymi projektami Angular.

npm install -g @angular/cli

Teraz utwórz nowy projekt Angular: ng nowy projekt my-api

nowy projekt my-api

Przejdź do katalogu projektu: cd my-api-project

cd mój projekt API

Sprawdźkursy tworzenia oprogramowania upGrad , aby podnieść swoje umiejętności.

Zrozumienie protokołu HTTP w Angular: moduł HttpClient

Aby wykonać wywołanie API w Angular , używamy przede wszystkim modułu HttpClient. Ten moduł upraszcza integrację interfejsu API w aplikacjach Angular, oferując usprawniony interfejs API dla żądań HTTP. Zacznij od zaimportowania modułu HttpClientModule do pliku app.module.ts:

zaimportuj { HttpClientModule } z „@angular/common/http”;

@NgModule({

import: [

// inny import tutaj

HttpClientModule

],

})

Wykonywanie prostych żądań GET: pobieranie danych z interfejsów API

Najpopularniejszym typem wywołania API w Angular jest żądanie GET, które służy do pobierania danych z serwera. Zaimportuj HttpClient do swojego komponentu i wstrzyknij go przez konstruktor. Następnie użyj metody get() do pobrania danych z interfejsu API:

zaimportuj { HttpClient } z „@angular/common/http”;

eksportuj klasę AppComponent {

konstruktor (prywatny http: HttpClient) { }

pobierzDane() {

this.http.get('https://api.example.com/data').subscribe(data => {

console.log(dane);

});

}

}

Obsługa błędów i wyjątków w wywołaniach API

Podczas pracy z wywołaniami API w Angular zawsze należy przewidywać błędy i wyjątki. Moduł HttpClient zwraca Observable. Możesz użyć operatora catchError z RxJS do płynnej obsługi błędów:

import {catchError} z „rxjs/operatorzy”;

import { throwError } z „rxjs”;

pobierzDane() {

this.http.get('https://api.example.com/data').pipe(

catchError(błąd => {

console.error('Wystąpił błąd:', błąd);

return rzućBłąd(błąd);

})

.subscribe(dane => {

console.log(dane);

});

}

Wykonywanie żądań POST: wysyłanie danych do interfejsów API

Tak jak możemy pobierać dane za pomocą żądania GET, możemy również wysyłać dane do API za pomocą żądania POST. Ten rodzaj wywołania Angular API jest kluczowy, gdy potrzebujemy przesłać dane z naszej aplikacji Angular na serwer:

wysłać dane() {

const body = { title: 'Angular Post', content: 'Wysyłanie danych do API' };

this.http.post('https://api.example.com/posts', body).subscribe(response => {

console.log(odpowiedź);

});

}

Przesyłanie plików za pomocą wywołań API: korzystanie z obiektu FormData

Aby przesłać pliki w wywołaniu API w Angular, możemy użyć obiektu FormData, który pozwala nam wysyłać pary klucz-wartość jako dane formularza:

uploadFile(plik: Plik) {

const FormData = new FormData();

formData.append('plik', plik);

this.http.post('https://api.example.com/upload', formData).subscribe(response => {

console.log(odpowiedź);

});

}

Praca z parametrami zapytania w wywołaniach API

Parametry zapytań są istotną częścią wywołań API w Angular, często używane do filtrowania lub sortowania danych. Moduł HttpClient zapewnia łatwy sposób dodawania parametrów zapytania do żądań:

pobierzDane() {

this.http.get('https://api.example.com/data', {

parametry: {

sortowanie: 'rosnąco',

granica: „10”

}

}).subscribe(dane => {

console.log(dane);

});

}

Buforowanie danych w celu uzyskania lepszej wydajności: korzystanie z przechwytywaczy HTTP

Buforowanie danych może znacznie zwiększyć wydajność aplikacji Angular. W tym miejscu do gry wchodzą przechwytywacze HTTP. Pozwalają przechwytywać żądania i odpowiedzi HTTP, idealne miejsce do wdrożenia strategii buforowania. Możesz użyć Angular LocalStorage lub IndexedDB wewnątrz Web Workera w Angular do przechowywania pamięci podręcznej.

@Do wstrzykiwania()

klasa eksportu CacheInterceptor implementuje HttpInterceptor {

konstruktor (prywatna pamięć podręczna: CacheService) {} // Zakładając, że masz usługę buforowania

intercept(req: HttpRequest<dowolny>, następny: HttpHandler): Observable<HttpEvent<any>> {

const cachedResponse = this.cache.get(req);

if (cachedResponse) {

zwrot(cachedResponse);

}

return next.handle(req).pipe(

stuknij (zdarzenie => {

if (instancja zdarzenia HttpResponse) {

this.cache.put(req, zdarzenie);// Zaktualizuj pamięć podręczną.

}

})

);

}

}

Testowanie wywołań API w Angular: Wyśmiewanie żądań HTTP za pomocą HttpClientTestingModule

Testowanie jest kluczowym aspektem integracji Angular API. Aby przetestować nasze wywołania API, Angular udostępnia moduł HttpClientTestingModule. Ten moduł pozwala nam symulować żądania HTTP, umożliwiając nam testowanie naszych komponentów i usług w izolacji bez rzeczywistych wywołań API:

zaimportuj { HttpClientTestingModule, HttpTestingController } z „@angular/common/http/testing”;

przedKażdy(() => {

TestBed.configureTestingModule({

importuje: [HttpClientTestingModule],

});

httpMock = TestBed.inject(HttpTestingController);

});

it('powinno wykonać żądanie GET', () => {

service.fetchData().subscribe();

const req = httpMock.expectOne('https://api.example.com/data');

spodziewaj się (req.request.method).toEqual('GET');

req.flush({dane: 'Dane testowe'});

});

Wskazówki, o których należy pamiętać podczas wykonywania wywołań API w aplikacjach Angular

Wykonywanie wywołań API w Angular może wydawać się proste, ale niuanse mogą znacząco wpłynąć na wydajność i niezawodność aplikacji. Oto kilka ważnych wskazówek, o których należy pamiętać:

  1. Użyj HttpClient: Moduł HttpClient to potężne narzędzie do wywołań Angular API.Zapewnia uproszczony interfejs API dla żądań HTTP i wyjaśnia złożoność leżącą u podstaw wysyłania żądań.
  2. Łagodnie obsługuj błędy: Zawsze przewiduj, że coś może pójść nie tak z wywołaniami API w Angular.Użyj operatora catchError z RxJS, aby obsłużyć potencjalne błędy podczas wywołania API.
  3. Zoptymalizuj wywołania API: unikaj niepotrzebnych wywołań API.Wykorzystaj Angular LocalStorage lub buforowanie do przechowywania danych, które mogą być potrzebne do ponownego wykorzystania. Zmniejsza to obciążenie serwera i poprawia wydajność aplikacji.
  4. Używaj narzędzia Web Worker w Angular do ciężkich zadań: Rozważ użycie Web Worker w Angular, jeśli masz do czynienia z ciężkimi zadaniami obliczeniowymi lub danymi o dużej objętości.Dzięki temu Twój interfejs użytkownika pozostanie płynny i responsywny, ponieważ zadania zostaną przeniesione do osobnego wątku w tle.
  5. Zabezpiecz swoje wywołania API: Bezpieczeństwo jest najważniejsze.Upewnij się, że używasz bezpiecznych protokołów (takich jak HTTPS) do wywołania Angular API. Nie ujawniaj też poufnych danych, takich jak klucze API, w kodzie po stronie klienta.
  6. Przetestuj swoje wywołania API: Testowanie jest niezbędne do integracji Angular API.Użyj modułu HttpClientTestingModule, aby symulować żądania HTTP i upewnić się, że wywołania interfejsu API działają zgodnie z oczekiwaniami.
  7. Bądź na bieżąco: Angular to stale rozwijający się framework.Zawsze bądź na bieżąco z najnowszymi wersjami i aktualizacjami, aby wykonywać najbardziej wydajne i bezpieczne wywołania interfejsu API.

Pamiętaj, że skuteczna integracja wywołań API może sprawić, że Twoje aplikacje Angular będą bardziej dynamiczne i responsywne, poprawiając wrażenia użytkownika i ogólną funkcjonalność.

Zapoznaj się z naszymi popularnymi kursami inżynierii oprogramowania

Magister informatyki na LJMU i IIITB Program certyfikacji cyberbezpieczeństwa Caltech CTME
Bootcamp programistyczny Full Stack Program PG w Blockchain
Executive PG Program w Full Stack Development
Zobacz wszystkie nasze kursy poniżej
Kursy inżynierii oprogramowania

Poszerzaj swoje umiejętności dzięki kursom upGrad

W miarę postępów w opanowywaniu wywołań API w Angular możesz zastanawiać się, w jaki sposób możesz jeszcze bardziej podnieść swoje umiejętności. Aby pomóc w tym przedsięwzięciu, kilka kompleksowych programów online zapewnia głębokie zanurzenie w Angular i obejmuje inne krytyczne aspekty tworzenia oprogramowania. Jedną z takich platform jest upGrad, znana z wysokiej jakości programów branżowych.

Przyjrzyjmy się niektórym kursom, które mogą pomóc Ci przenieść swoją wiedzę na wyższy poziom.

Kurs Full Stack Developer (PGD – IIITB)

Executive PG Program in Full Stack Development firmy IIITB , oferowany przez upGrad, to kompleksowy program, który przeprowadzi Cię przez podróż od podstaw do zaawansowanych aspektów Full Stack Development. Kurs obejmuje dogłębnie Angular, a także inne technologie front-end i back-end. Ten kurs może być Twoim kolejnym dużym krokiem, jeśli chcesz zostać biegłym programistą full-stack.

Inżynieria oprogramowania (MCS – LJMU)

Innym kursem, który może Cię zainteresować, jest Master of Science in Computer Science of LJMU . Ten kurs nie tylko poprawi Twoje umiejętności kodowania, ale także wyposaży Cię w wiedzę niezbędną do efektywnego zarządzania projektami oprogramowania.

Zapoznaj się z naszymi bezpłatnymi kursami tworzenia oprogramowania

Podstawy przetwarzania w chmurze Podstawy JavaScript od podstaw Struktury danych i algorytmy
Technologia Blockchain Reaguj dla początkujących Podstawowe podstawy Javy
Jawa Node.js dla początkujących Zaawansowany JavaScript

Bootcamp programistyczny Full Stack

Dla tych z Was, którzy szukają szybkiej, intensywnej podróży edukacyjnej, upGrad oferuje Bootcamp Full Stack Software Development . Ten bootcamp zapewni Ci wiedzę i umiejętności potrzebne do tworzenia kompleksowych aplikacji internetowych, koncentrując się w dużej mierze na technologiach front-end, takich jak Angular.

Wniosek

Do tej pory powinieneś dobrze rozumieć, jak wywoływać API w Angular . Od konfigurowania środowiska po wysyłanie żądań GET i POST, obsługę błędów, pracę z parametrami zapytań, buforowanie odpowiedzi w celu uzyskania lepszej wydajności, a nawet testowanie — jesteś teraz przygotowany do efektywnej obsługi integracji API w Angular .

Podsumowując, warto zauważyć, że ciągłe uczenie się i rozwijanie umiejętności są kluczem do utrzymania pozycji w szybko rozwijającej się branży technologicznej. W tym miejscu pojawiają się platformy takie jak UpGrad.

UpGrad oferuje szeroką gamę kursów dostosowanych do wyposażenia Cię w niezbędne umiejętności i wiedzę, aby osiągnąć sukces w karierze technicznej. Więc nie poprzestawaj na tym artykule. Kontynuuj odkrywanie i rozważ zapisanie się na jeden z kompleksowych kursów UpGrad, aby otworzyć świat możliwości.

Pamiętaj, że wywołania API w Angular to nie tylko pobieranie danych; chodzi o stworzenie płynnego doświadczenia użytkownika i budowanie wydajnych aplikacji. Kontynuuj doskonalenie swoich umiejętności i bądź o krok przed konkurencją. Miłej nauki!

Jak mogę obsłużyć błędy w wywołaniach Angular API?

Użyj operatora catchError z RxJS, aby przechwycić i obsłużyć wszelkie błędy, które mogą wystąpić podczas wywołań API.

Jaki jest pożytek z Angular LocalStorage i Web Worker w Angular?

Angular LocalStorage umożliwia przechowywanie danych w przeglądarce użytkownika, podczas gdy Web Worker w Angular pomaga uruchamiać skrypty w tle bez blokowania interfejsu użytkownika.

Jak mogę przetestować wywołania API w Angular?

Angular udostępnia moduł HttpClientTestingModule, który umożliwia wyśmiewanie żądań HTTP oraz testowanie komponentów i usług bez wykonywania rzeczywistych wywołań API.