Contents

Czym jest REST API i w jaki sposób można pobierać dane do aplikacji lub strony internetowej?

Kluczowe wnioski

Interfejsy API odgrywają istotną rolę w umożliwianiu płynnej komunikacji między różnymi komponentami oprogramowania poprzez przyjmowanie żądań wejściowych i dostarczanie odpowiednich odpowiedzi wyjściowych, upraszczając w ten sposób proces uzyskiwania dostępu do danych i manipulowania nimi w różnych systemach.

Interfejsy API RESTful wykorzystują jednolite identyfikatory zasobów (URI) jako sposób uzyskiwania dostępu do zasobów i manipulowania nimi, wykorzystując różne czasowniki żądania, takie jak GET, POST, PUT i DELETE do wykonywania operacji, w tym pobierania, tworzenia, modyfikowania i usuwania informacji.

Wykorzystanie bibliotek takich jak got w JavaScript lub requests w Pythonie umożliwia programistom tworzenie aplikacji zdolnych do pobierania informacji z wielu interfejsów API RESTful poprzez podanie klucza API i zapytania w adresie URL.

Termin “API” reprezentuje koncepcję interfejsu programowania aplikacji, który służy jako medium ułatwiające komunikację między aplikacjami poprzez szereg zdefiniowanych funkcji. Zasadniczo, gdy jeden program wysyła żądanie do drugiego za pośrednictwem interfejsu API, otrzymuje w zamian odpowiednią i stosowną odpowiedź.

REST (Representational State Transfer) to styl architektoniczny stosowany w rozwoju aplikacji klient-serwer. Polega on na uzyskaniu obrazu danych znajdujących się w bazie danych poprzez wykorzystanie interfejsu API RESTful. Co więcej, ten typ API działa w sposób bezstanowy, co oznacza, że serwer nie zachowuje żadnych informacji dotyczących żądań klienta w okresach przejściowych.

Jak działa interfejs API REST?

Interfejs API RESTful wykorzystuje jednolite identyfikatory zasobów (URI) do pobierania danych i manipulowania nimi, przy czym adresy URL służą jako typowa forma identyfikatorów URI wykorzystywanych w takich kontekstach.

Aby wykorzystywać i modyfikować zasoby, interfejs API RESTful wykorzystuje określone czasowniki żądania w celu uzyskania dostępu do zasobów i manipulowania nimi:

⭐Get - pobiera dane z bazy danych.

⭐Post - dodaje nowe dane do bazy danych.

⭐Put - aktualizuje dane w bazie danych.

⭐Delete - usuwa dane z bazy danych.

Korzystanie z wielu istniejących wcześniej interfejsów API RESTful dostępnych online jako alternatywa dla tworzenia własnych (zamiast opracowywania niestandardowego rozwiązania) ogranicza opcje tylko do metody żądania GET (za pośrednictwem adresu URL). Adresy URL, o których mowa, zawierają różne elementy, ale te najbardziej istotne dla twoich potrzeb obejmują wymagane poświadczenia autoryzacji i wszelkie parametry zapytania niezbędne do pobierania danych.

Po zarejestrowaniu się na platformie RESTful Application Programming Interface (API) dana osoba otrzyma pojedynczy identyfikator znany jako klucz API. Klucz ten służy jako środek do dostosowywania wyszukiwania poprzez wykorzystanie konkretnego zapytania lub zapytania. Na przykład, jeśli ktoś chciałby uzyskać informacje dotyczące aktualnych warunków klimatycznych w Nowym Jorku, mógłby wpisać “city=New York” w części zapytania swojego Uniform Resource Locator (URL).

Po wykonaniu żądania GET wynikowa odpowiedź zawiera kod stanu i treść. W przypadkach, gdy żądanie zostało pomyślnie wykonane, treść odpowiedzi będzie zawierać żądane informacje przeznaczone do wykorzystania w witrynie lub aplikacji.

Korzystanie z aplikacji JavaScript do pobierania danych z różnych interfejsów API REST

Aby opracować tę aplikację JavaScript, konieczne jest pobranie i zainstalowanie dwóch oddzielnych programów na komputerze osobistym - mianowicie NodeJS i npm. Na szczęście przygotowaliśmy szczegółowy przewodnik, jak przeprowadzić ten proces dla użytkowników systemów operacyjnych Ubuntu i Windows. Jeśli chcesz uzyskać więcej informacji na ten temat, zapoznaj się z naszymi odpowiednimi artykułami, które przedstawiają krok po kroku procedury instalacji dla każdej platformy.

Po zainstalowaniu wyżej wymienionych pakietów oprogramowania konieczne jest wykonanie kolejnych czynności:

Należy otworzyć zintegrowane środowisko programistyczne (IDE) i uruchomić w nim terminal.

Aby uzyskać dostęp do katalogu zawierającego plik aplikacji JavaScript, użyj polecenia cd w terminalu lub oknie wiersza polecenia. Umożliwi to zmianę bieżącego katalogu roboczego i ułatwi nawigację do żądanej lokalizacji.

⭐ Zainicjuj npm następującym wierszem kodu:

 npm init -y 

Implementacja podstawowej funkcjonalności tej aplikacji opiera się na konkretnym module npm znanym jako “got”, który służy jako biblioteka żądań HTTP dla NodeJS. Aby upewnić się, że biblioteka got jest włączona do plików aplikacji, możesz użyć podanego polecenia, aby automatycznie zainstalować jej najnowszą wersję:

 npm install got@latest 

Teraz możesz skonstruować swoją aplikację według własnego uznania.

Korzystanie z biblioteki Got do tworzenia aplikacji

 // import the got library into your application
import got from 'got';

// fetch data from an API and prints its body to the terminal
(async () => {
  try {
    const response = await got(URL);
    const data = JSON.parse(response.body);
    console.log(data);
  } catch (error) {
    console.log(error.data);
  }
})();

Wspomniana aplikacja może wydobywać informacje z dowolnego internetowego interfejsu API RESTful; konieczne jest jednak wcześniejsze dostarczenie odpowiedniego jednolitego lokalizatora zasobów (URL) odpowiedniego zasobu.

Pobieranie danych z Weather REST API

Weatherbit.io API jest jednym z bardziej popularnych API pogodowych. Wstawienie adresu URL tego interfejsu API do prostej aplikacji JavaScript powyżej sprawi, że aplikacja będzie działać.

Korzystanie z Weatherbit.io REST API

 // import the got library into your application
const got = require('got');

// fetch data from an API and prints its body to the terminal
(async () => {
  try {
    const URL =
      'https://api.weatherbit.io/v2.0/current?lat=40.7128&lon=-74.0060&key=API_KEY';

    const response = await got(URL);
    const data = JSON.parse(response.body);
    console.log(data);
  } catch (error) {
    console.log(error.data);
  }
})();

Adres URL dla Weatherbit.io API został zintegrowany z aplikacją. Aby zapewnić prawidłowe działanie, konieczne jest zmodyfikowanie elementu w adresie URL o nazwie “API\_KEY”. Ten klucz jest dostarczany przez Weatherbit.io podczas rejestracji bezpłatnego konta i służy jako kluczowy element dostępu do ich usług za pośrednictwem tego interfejsu API.

Możesz zmodyfikować sekcję zapytań w dostarczonym kodzie. Obecnie program pobiera dane pogodowe we współrzędnych geograficznych 40.7128 stopni szerokości geograficznej północnej i -74.0060 stopni długości geograficznej zachodniej; jednak w razie potrzeby można wprowadzić alternatywne współrzędne. Chociaż podana implementacja jest uważana za odpowiednią, masz również możliwość wyszukiwania informacji o pogodzie na podstawie nazwy konkretnego miasta.

Po wprowadzeniu klucza API w wyznaczonym polu, jesteś teraz uprawniony do uruchomienia skryptu JavaScript. Interfejs powinien wyświetlić komunikat podobny do poniższego wyniku w wierszu polecenia:

/pl/images/weather-api-response-body-part1.jpg /pl/images/weather-api-response-body-part2.jpg

Niektóre kluczowe elementy danych odpowiedzi są godne uwagi, w tym między innymi:

Miasto znajdujące się w określonych współrzędnych wzdłużnych i równoleżnikowych jest oznaczone nazwą, która służy jako unikalny identyfikator tego konkretnego obszaru miejskiego w szerszym regionie geograficznym.

Aktualny czas jest wyrażony w uniwersalnym czasie koordynowanym (UTC) i reprezentuje godzinę w formacie roku, miesiąca i daty przy użyciu kombinacji cyfr i liter, aby wskazać zarówno rok, jak i dzień tygodnia (np. “2023-04-15T08:30”).

Jednostka “pogoda” reprezentuje złożoną strukturę zawierającą wizualny symbol oznaczający warunki meteorologiczne, odpowiadający mu alfanumeryczny identyfikator znany jako kod pogody oraz słowną reprezentację bieżącego lub prognozowanego stanu klimatu.

Pobieranie danych z News REST API

Ta sekcja wykorzystuje Newsdata.io API . Podobnie jak wszystkie interfejsy API REST w Internecie, udostępnia on kilka opcji zapytań, których można użyć do pobierania najświeższych wiadomości z całego świata. Za pomocą interfejsu API Newsdata.io można uzyskać wiadomości z określonego kraju lub w określonym języku, kategorii itp.

Korzystając z aplikacji JavaScript, można uzyskać informacje z News RESTful API, po prostu zastępując podany adres URL w aplikacji określonym adresem URL poniżej:

 'https://newsdata.io/api/1/news?apikey=YOUR_API_KEY&country=us'

Aby uzyskać dostęp do najświeższych wiadomości z Ameryki za pomocą interfejsu API Newsdata.io, należy zastąpić symbol zastępczy “YOUR\_API\_KEY” w określonym adresie URL swoim unikalnym kluczem API, który zostanie uzyskany po pomyślnej rejestracji w Newsdata.io. Zmieniając parametr “country” z “us” na “jp”, można zamiast tego pobierać artykuły z Japonii.

Wynikający z tego ładunek danych będzie składał się z szeregu instancji, z których każda będzie zawierała istotne informacje dotyczące bieżących wydarzeń mających miejsce w Stanach Zjednoczonych Ameryki. W tym konkretnym przypadku początkowy element kolekcji posłuży nam jako punkt wyjścia do dalszej analizy i dyskursu.

/pl/images/news-api-response-body-part1.jpg /pl/images/news-api-response-body-part2.jpg

Korzystanie z aplikacji Python do pobierania danych z różnych interfejsów API

Możliwe jest uzyskanie danych dla strony internetowej lub oprogramowania przy użyciu dowolnego języka programowania, w którym jesteś biegły. W związku z tym, jeśli wolisz nie używać JavaScript, możesz osiągnąć równoważne wyniki poprzez wdrożenie rozwiązania opartego na Pythonie. Może to obejmować skonstruowanie interfejsu programowania aplikacji (API) Pythona za pomocą jednego z jego popularnych frameworków lub pobieranie informacji z istniejącego interfejsu API REST (Representational State Transfer) za pomocą prostego skryptu.

Aby korzystać z biblioteki requests w Pythonie, konieczne jest użycie menedżera pakietów pip i zainstalowanie wspomnianego modułu. Po zainstalowaniu, można rozwijać swój program poprzez implementację dostarczonego kodu.

 # import the requests library
import requests

# grabbing data using the requests library
URL = 'https://newsdata.io/api/1/sources?apikey=YOUR_API_KEY=us'
res = requests.get(URL)
json = res.json()

for key in json:
    print(key, json[key])

Aby wykorzystać funkcjonalność interfejsu programowania aplikacji (API), konieczne jest wprowadzenie unikalnego identyfikatora (klucza API) w wyznaczonym polu. Spowoduje to wygenerowanie obiektu odpowiedzi, który jest bardzo podobny do danych wyjściowych generowanych przez implementację JavaScript, zawierającego dane w formacie odpowiednim do przetwarzania i analizy.

/pl/images/news-api-response-body-python.jpg

Pozyskiwanie danych dla witryny lub aplikacji jest całkiem proste

Przy dostępności odpowiednich zasobów konieczne jest dostrzeżenie korzyści płynących z podejścia architektonicznego REST w promowaniu oddzielenia różnych komponentów. Wszechstronność tej metody pozwala programistom na korzystanie z różnych języków programowania przy jednoczesnym dostępie do danych z szerokiej gamy interfejsów API RESTful dostępnych online.

Ważne jest, aby rozpoznać znaczenie zarówno klucza API, jak i zapytania podczas próby uzyskania dokładnych informacji wymaganych przez aplikację.