Co to jest REST API

|

Co to jest REST API
RESTful API , czyli API w oparciu o model REpresentational State Transfer

Co to jest REST API? Jest to jeden z najpopularniejszych standardów budowania API, czyli jej fasady, czy interfejsu. Sam koncept API omawiałem już w pokrewnym wpisie. Warto się z nim zapoznać dla lepszego zrozumienia przedstawionej tu myśli.

Moda na REST

Dlaczego akurat ten standard, czy styl architektury (jak to lubi się o nim mawiać), uchodzi zna najbardziej popularny? Głównie ze względu na jego wielowymiarową prostotę, co sprowadza się jego umiarkowanej złożoności technologicznej.

Dla porównania zestawie go na chwilę z coraz mniej popularnym modelem – SOAP.

W obu przypadkach zasada interakcji z aplikacją jest podobna. Dostarczamy API “listę pytań”, a ono ma ją zinterpretować i zwrócić nam wiadomość z informacjami, jakie nas interesują.

Przykład

Skorzystam z 2 publicznie dostępnych API, w modelach SOAP i REST. Narzędziem z jakiego skorzystam będzie POSTMAN (<- zachęcam do zapoznania się i poeksperymentowania “na żywo”).

Każde z nich potrafi zwrócić stolicę wybranego państwa w oparciu o kod kraju. Nasza “lista pytań” zawierać będzie właściwie jedno pytanie, wyrażone za pomocą takiego kodu. Czyli dla jasności, za każdym razem podaję kod kraju, API będzie go oczekiwać i domyślnie spróbuje zwrócić w odpowiedzi stolicę (bądź, dodatkowo, inne informacje które domyśle zwraca).

Zadanie banalne, tak. Ale celem jest tu jedynie pokazania podstawowych mechanizmów pozyskania informacji, nie zaś możliwości obliczeniowych API.

OKEANOS 115 - NA RATUNEK BOGU
Co, jeśli AI okażę się naturalnym etapem ewolucji? Dokąd może prowadzić?
Czy młody kapitan znajdzie odpowiedź na krańcu wszechświata?

Zacznijmy od SOAP

Soap narzuca nam, żeby zapytanie było umieszczone we wiadomości – jest to tzw. Request. Będzie to format XML. Warto o takiej wiadomości pomyśleć na zasadzie tradycyjnego listu, którego wysłanie zakłada:

  • Adres
  • Kopertę
  • Wiadomość
  • Dostawca usług (Poczta Polska, Inpost, DHL itp.)

Analogicznie nasza wiadomość poniżej posiada:

  • Adres -> endpoint, czyli “http://webservices…”
  • Kopertę -> czyli pierwsze zagnieżdżenie w strukturze XML, Envelope
  • Wiadomość -> kolejne zagnieżdżenie, zwane Body, które nosi w sobie właściwą wiadomość.
  • Dostawca usług – > POST

Warto jeszcze przez chwilę pochylić się nad zagadnieniem POST w przypadku poniżej. Ściśle mówiąc, jest to jedna z dostępnych metod protokołu HTTP (Patrz CRUD).

W przypadku Soap, okazuje się, że nadawca ma umowę niemalże na wyłączność z Pocztą Polska, czyli w praktyce oznacza to korzystania przez 99% z metody POST.

Co to jest REST API

Jak widzimy powyżej, jest trochę zachodu komunikacyjnego, żeby pozyskać stolicę, choć zapewniam, że przypadek jest i tak dalece minimalistyczny.

Warto podkreślić, że widzimy 2 wiadomości XML, pierwsza to Request, czyli nasze zapytanie. Druga wiadomość to Response, czyli odpowiedź na nie.

Teraz REST

Zadanie analogiczne, choć API w tym przypadku zwraca nieco więcej informacji, ale to jest zupełnie nie istotne w naszym przykładzie. Istotne jest sposób pozyskania danych.

Czym jest REST API

Porównajmy 4 wspomniane wcześniej rzeczy:

  • Adres
  • Kopertę
  • Wiadomość
  • Dostawca usług

Zatem:

  • Adres – endpoint jest na swoim miejscu, czyli to, co następuje po “https://…”
  • Koperta – tym razem jej nie ma, bo nie jest potrzebna
  • Wiadomość – to samo dotyczy samej wiadomości
  • Dostawca usług – metodą HTTP w tym przypadku nie jest to już POST a GET

No dobra, ale dlaczego brakuje koperty i wiadomości? Skąd REST API wie, o co pytamy i dlaczego korzystamy z innej metody HTTP?

Po drugiej stronie Tenczy
Dlaczego ród Toporczyków wygasł tak nagle? Czy legendy Zamku Tenczyn w Rudnie kryją w sobie odpowiedź?
Teraz horror dostępny w promocyjnej cenie.

I to są wszystko trafne pytania. Otóż, metoda GET zakłada, że nasze zapytanie zawarte jest już w samym endpoincie. Zauważ, że na samym jego końcu znajduje się “IND“, a jest to skrót od Indie. Na tej podstawie właśnie API wie, o co pytamy i dlatego też nie potrzebujemy ani koperty, ani wiadomości.

Z wiadomością mamy do czynienia dopiero w przypadku odpowiedzi. W niej, tym razem jako wiadomość typu JSON, szybko jesteśmy w stanie odnaleźć pole o nazwie “capital”, które zawiera stolicę.

Co to jest REST API – podsumowanie

W podsumowaniu chciałbym zaznaczyć, że wypieranie SOAP przez REST dzieje się na drodze ewolucji, która szuka uproszczeń. Ewolucji tej również kierunek nadają ogólne standardy w przemyśle IT, których motywem przewodnim są obecnie systemy rozproszone (microservices). To one narzucają potrzebę komunikowania się między komponentami, które stanowią samodzielne byty i jako takie mogą też być oferowane potencjalnemu klientowi.

Almanach Informatyczny - Lite

Chcesz wejść do IT?

Jeśli jesteś zainteresowany pracą w IT, zachęcam do eksplorowania bloga. Dużo bardziej szczegółowo omawiam software development w książce Almanach Informatyczny – Lite.

Jej założeniem jest wprowadzenie każdego do świata IT w 100 słowach i turbo kompaktowych definicjach. Wszystko, czego potrzebujesz, żeby świadomie wybrać rolę dla siebie i czuć się komfortowo, kiedy już zaczniesz.

Powiązane wpisy:

Zobacz także:

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *