REST API – Pierwsze kroki

Temat Rest API jest bardzo szeroki. Postanowiłam dzisiaj napisać parę słów o jego podstawach. Ostatnio coraz częściej spotykam się z podejściem rozdzielenia na dwie osobne aplikacje backednu od frontendu w projektach. Implikuje to, że backend komunikuje się z frontem wyłącznie za pomocą API. Dzięki temu firmy mogą szczycić się, że realizują aplikacje w modelu mikro serwisowym. Oczywiście mają do tego pełne prawo, ponieważ taka jest prawda. Mam jednak cichą nadzieję, że wybierają tę drogę z innych powodów, nie tylko marketingowych.

Czym jest Rest API?

REST czyli Representational State Transfer powstał w 2000 roku czyli już chwile temu patrząc na aktualne tempo rozwoju. To styl w jakim projektuje się architekturę oprogramowania, opisuje, jak definiujemy zasoby i w jaki sposób będziemy mieć do nich dostęp.  API (Application Programming Interface) to z kolei zestaw reguł, które powinniśmy stosować podczas wymiany komunikatów między aplikacjami.

W bardzo dużym uproszczeniu, API to nasz interfejs, który da nam dostęp do zasobów, a REST powie nam jak to API dobrze zbudować.

Metody HTTP

Rest daje nam cztery metody(działania), których możemy używać, aby sprawnie komunikować się między aplikacjami. Są nimi

GET

Jeśli chcesz pobrać/odczytać zasób np. wejść na stronę internetową, Twoja przeglądarka przejdzie na odpowiedni adres i „krzyknie” do serwera Ej Ty! Daj mi (GET) tą stronę!  

Aby pobrać zasób, którym może być podana strona potrzebujemy wiedzieć, który to zasób, czyli mieć jego identyfikator. W przypadku strony internetowej będzie nim adres URL.

POST

Metoda POST jest potrzebna, aby coś na ten serwer wysłać. Powiedzmy, że jesteśmy na wskazanej wcześniej stronie. Znajdujemy na niej ciekawy artykuł, chcemy go skomentować. Znajdujemy formularz do komentowania, wypełniamy go i klikamy przycisk „Wyślij”. W tym momencie. Przeglądarka bierze twój komentarz składa z niego wiadomość najczęściej w formie jsona i wysyła do serwera metodą POST. Zgodnie z wytycznymi ta metoda powinna być używana TYLKO do tworzenia nowych zasobów, czyli napisałeś komentarz i go wysłałeś to stworzyłeś zasób na serwerze. Jednak, jeśli teraz stwierdzasz, że chciałbyś dopisać jeszcze jedno zdanie albo znalazłeś literówkę i chcesz ją poprawić to do edycji komentarza powinieneś użyć już innej metody, którą znajdziesz poniżej.

PUT

Jest, znalazłeś przycisk do edycji komentarzy. Klikasz go, pokazuje Ci się ponownie formularz, poprawiasz tę nieszczęsną literówkę i klikasz „Zapisz”. W tym momencie przeglądarka znowu składa Twój komentarz i wysyła do serwera. Jednak tym razem powinna użyć metody PUT i jak logika wskazuje podać identyfikator Twojego komentarza, aby serwer wiedział, którą opinie ma zaktualizować.

DELETE

Wszedłeś na stronę, dodałeś komentarz, poprawiłeś literówki. Wszystko super, jednak tak strasznie skrytykowałeś autora, że aż zrobiło Ci się głupio. Co teraz? Nie będziesz przecież dobijał biednej dziewczyny, napociła się trochę w końcu, żeby napisać ten tekst. Dobra, chcesz go usunąć. Klikasz czerwony guzik „Usuń”. Przeglądarka bierze identyfikator Twojego komentarza i wysyła używając metody DELETE do serwera. Komentarz zniknął.

Jak pewnie zauważyłeś, trzy z czterech metod wymagają identyfikatora, czyli GET, PUT i DELETE.

Jak to wygląda w rzeczywistości

Mam nadzieje, że po tym tekście będziesz dbał o zasady dobrego REST API. W rzeczywistości niestety bardzo często spotykam się z aplikacjami, które posługują się jedynie GETem i POSTem. No cóż, jakoś przeżyjemy, ale warto jednak mieć świadomość, że metody są cztery, nie dwie, cztery.

Tworzyłeś kiedyś aplikacje opartą na REST API? Daj znać w komentarzu jakie są Twoje doświadczenia.

Podobne posty

Jestem programistką, która lubi mieć ręce pełne roboty. Do życia potrzebuje komputera z internetem i kubka gorącej kawy. Więcej na stronie o mnie.

Comments

  1. Nie miałam jeszcze okazji tworzyć w tej metodzie, ale chyba czas najwyższy ją podsunąć współpracownikom. Może będzie nam wszystko sprawniej szło? Jak człowiek nie spróbuje to nie będzie wiedział. Dzięki za wpis! Pozdrawiam!

  2. A może jakiś przykład?, podejmujesz tematykę czym jest REST API ale bez wytłumaczenia jakie są założenia REST i bez kodu, słabo

ZOSTAW ODPOWIEDŹ

Please enter your comment!
Please enter your name here