Co to jest API
API jest to skrót od Application Programming Interface, czyli interfejs programowania aplikacji. Jak to rozumieć? Zacznijmy od słowa „interfejs”. Przeróżne interfejsy otaczają nasze codzienne życie, chociaż nawet nie zdajemy sobie z tego sprawy. Za pomocą interfejsów możemy korzystać z różnych 'rzeczy’. Na przykład interfejsem jest ekran telefonu komórkowego, pilot telewizora czy deska rozdzielcza w samochodzie. Jest to zestaw narzędzi, przyrządów, wszelkiej maści kontrolerów umożliwiających nam sterowanie – a mówiąc ściślej – komunikację z 'czymś’ po drugiej stronie tego interfejsu.
Takie interfejsy mogą mieć też aplikacje (słowo Application w API). W tym przypadku interfejsy to dokładnie sprecyzowane przez autorów aplikacji możliwości, jakie jej użytkownicy dostają aby nią zarządzać. Dzięki temu tym możliwościom (interfejsowi) użytkownicy mogą komunikować się z aplikacją, aby wykorzystać ją odpowiednio do swoich potrzeb. Taka komunikacja w odniesieniu do świata IT i tworzenia aplikacji to tzw. 'programming’ – trzeci ze składników skrótu API.
Jeśli przełożymy to na wspomnianą wcześniej deskę rozdzielczą w samochodzie – samochód to nasza Aplikacja, deska rozdzielcza to Interface, a kierowanie samochodem to programowanie – Programming.
Czym jest API na przykładzie z kawą
Wbrew pozorom, kawa ma wiele wspólnego z tworzeniem i testowaniem API. Jednym ze sposobów jej wykorzystania jest zilustrowanie działania API. Wyobraź sobie, że jesteś w kawiarni. Zamawiasz swoją ulubioną pyszną kawkę. Składasz zamówienie u obsługi, która wysłuchawszy Twoich instrukcji przystępuje do przeprocesowania Twojej prośby – przygotowuje kawkę, być może dodaje do niej mleko i dodatki, następnie nalicza należność na kasę by wreszcie na koniec zaserwować Ci zamówioną kawę. API działa na tej samej zasadzie, co zamawianie kawy w kawiarni – poprzez wykonywanie zapytań (requestów) i otrzymywanie na nie odpowiedzi (responsów). Zamówienie kawy było zapytaniem, a otrzymanie kawy odpowiedzią API.
Requesty i responsy w API
W świecie aplikacji webowych zapytania i odpowiedzi odbywają się pomiędzy aplikacjami. Kiedy włączasz przeglądrkę internetową i logujesz się na swoj profil w jakiejś sieci społecznościowej, Twoja przeglądarka wykonuje zapytanie (request) do serwera tej platformy, aby pobrać Twój profil i najnowsze powiadomienia od znajomych. Skąd przeglądarka wie, który serwer ma wybrać? Dzięki adresie url, który otworzyłeś/-aś otwierając stronę sieci społecznościowej w przeglądarce. Zapytanie jest skierowane do serwera, który generuje odpowiedź (response) z Twoim profilem. W dzisiejszych czasach wszystkie popularne platformy internetowe korzystają z API – Facebook, Youtube czy Google Maps.
Rodzaje API
Wyszczególnia się dwa różne typy API – SOAP oraz REST.
API typu SOAP jest starszym typem i stanowi właściwie samodzielny protokół do zapytań i odpowiedzi – czyli całej komunikacji API. Natomiast REST jest 'jedynie’ (lub aż) wzorcem projektowania API, czyli zbiorem reguł jakimi kierować powinno się nowoczesne API. Z racji tej nowoczesności i popularności modelu REST, to właśnie on będzie naszym głównym tematem przewodnim, a kolejne artykuły o testowaniu API będą miały na uwadze w znacznej mierze REST API.