Rest API – Co to jest, jak działa i jak z niego korzystać?
co to jest REST API

Rest API – Co to jest, jak działa i jak z niego korzystać?

Pisaliśmy kiedyś artykuł o API Revita, będziemy kontyuować temat w odniesieniu do API aplikacji webowych – może się to przydać do rozmawiania z platformami CDE. REST API to skrót od Representational State Transfer Application Programming Interface. Jest to rodzaj interfejsu, który umożliwia komunikację między aplikacjami poprzez protokół HTTP. REST API jest popularny wśród programistów, ponieważ jest łatwy do zrozumienia i skalowalny, a także pozwala na wykorzystanie różnych języków programowania do tworzenia i obsługi interfejsów.

Co to jest?

REST API to zestaw zasad i wytycznych, które definiują, w jaki sposób aplikacje mogą wymieniać dane w sposób uporządkowany i przewidywalny. REST opiera się na czterech podstawowych zasadach:

  • Klient-Serwer: Klient (np. przeglądarka internetowa lub aplikacja mobilna) wysyła żądanie do serwera, który przetwarza je i zwraca odpowiedź.
  • Bezstanowość (statelessness): Każde żądanie klienta do serwera musi zawierać wszystkie informacje niezbędne do jego zrozumienia i przetworzenia. Serwer nie przechowuje żadnych danych o stanie klienta między żądaniami.
  • Podzielność: REST API powinno być podzielone na zasoby (np. użytkownicy, produkty), które są identyfikowane przez unikalne adresy URL.
  • Standaryzacja interfejsu: Wykorzystuje standardowe metody HTTP (GET, POST, PUT, DELETE) do zarządzania zasobami.

Jak to działa?

REST API działa poprzez protokół HTTP, a każde żądanie HTTP składa się z trzech elementów:

  • Metoda HTTP: Określa akcję, którą klient chce wykonać (np. pobrać dane, dodać nowe dane, zaktualizować dane).
  • Endpoint URL: To unikalny adres internetowy, pod którym znajduje się dany zasób.
  • Nagłówki i ciało żądania: Nagłówki mogą zawierać informacje o autoryzacji, typie treści i inne metadane, natomiast ciało żądania (body) zawiera dane, które chcemy przesłać na serwer (np. podczas wysyłania formularza).

Przykładowy schemat działania:

  1. Klient wysyła żądanie HTTP (np. GET lub POST) do serwera, żądając konkretnego zasobu.
  2. Serwer odbiera żądanie, przetwarza je, a następnie zwraca odpowiedź w formacie JSON, XML lub HTML.
  3. Klient otrzymuje odpowiedź, która może zawierać dane lub potwierdzenie wykonania akcji.

Jak odwoływać się do REST API (autoryzacja i metody HTTP)

Aby korzystać z REST API, konieczne jest poznanie podstawowych metod HTTP oraz konfiguracji autoryzacji.

Metody HTTP

  • GET: Pobiera dane z serwera. Przykład: Pobranie listy użytkowników.
  • POST: Wysyła nowe dane do serwera, tworząc nowy zasób. Przykład: Dodanie nowego użytkownika.
  • PUT: Aktualizuje istniejący zasób na serwerze. Przykład: Aktualizacja informacji o użytkowniku.
  • DELETE: Usuwa zasób z serwera. Przykład: Usunięcie użytkownika.

Autoryzacja

Wiele REST API wymaga autoryzacji, aby zabezpieczyć dane. Najpopularniejsze metody to:

  • Basic Auth: Wykorzystuje nagłówek Authorization, w którym przesyłany jest zakodowany login i hasło.
  • Bearer Token: Używany w systemach OAuth. Klient otrzymuje token dostępu, który dołącza do każdego żądania w nagłówku Authorization.
  • API Key: Klucz API jest unikalnym identyfikatorem dostępu do API, przesyłanym najczęściej w nagłówkach żądania.

Szybki kontakt z endpointem– Przykład w Pythonie

Python jest jednym z najpopularniejszych języków do komunikacji z REST API. Poniżej przedstawiamy prosty przykład kontaktu z REST API w Pythonie za pomocą biblioteki requests. Odwołamy się do przykładowego otwartego RestAPI.

import requests

# Endpoint API, np. https://jsonplaceholder.typicode.com/posts
url = "https://jsonplaceholder.typicode.com/posts"

# Przykład pobrania danych (GET)
response = requests.get(url)
if response.status_code == 200:
    data = response.json()  # Odpowiedź w formacie JSON
    print("Pobrane dane:", data)
else:
    print("Błąd:", response.status_code)

# Przykład wysyłania danych (POST)
new_post = {
    "title": "Przykładowy tytuł",
    "body": "To jest treść nowego posta",
    "userId": 1
}

response = requests.post(url, json=new_post)
if response.status_code == 201:  # Kod 201 oznacza "Utworzono"
    print("Dodano nowy post:", response.json())
else:
    print("Błąd podczas dodawania:", response.status_code)

Opis działania kodu:

  1. GET – Pobieramy listę postów z przykładowego API. Jeśli odpowiedź serwera jest pozytywna (kod 200), dane są drukowane.
  2. POST – Wysyłamy nowe dane w formie JSON do serwera. Jeśli post zostanie pomyślnie dodany, otrzymamy kod odpowiedzi 201 i dane nowego posta.

Podsumowanie

REST API to potężne narzędzie do tworzenia elastycznych aplikacji, które mogą komunikować się z serwerami przez internet. Dzięki metodom HTTP oraz standardowym zasadom REST, integracja między różnymi systemami jest prostsza, a Python, dzięki swojej prostocie i bibliotece requests, ułatwia szybkie i intuicyjne tworzenie kontaktów z API.

Obraz Gerd Altmann z Pixabay

api
Udostępnij:
Rest API – Co to jest, jak działa i jak z niego korzystać?
Napisane przez
Michał Wrochna
Co myślisz o tym artykule?
1 reakcja
love
0
like
1
so-so
0
weakly
0
0 komentarzy
Najnowsze komentarze
  • Najnowsze komentarze
  • Najlepsze komentarze
Zaloguj się, aby dodać komentarz.
Prawa zastrzeżone Pi Corp sp. z o.o. copyright 2020-2022