RESTful
2 minuty czytania
Tomasz Kozon
6 sty 2022
API, które określamy mianem RESTful, spełniają określone kryteria, takie jak używanie HTTP jako podstawowego sposobu komunikacji oraz posiadanie struktury i zasobów, które można odwoływać się przez adresy URL.
RESTful oznacza, że dane API jest w pełni zgodne ze standardem REST. Standard wytwarzania oprogramowania REST odnosi się w szczególności do stron internetowych. Aby można było stwierdzić, że napisane przez nas API spełnia standardy REST musi w praktyce spełniać poniższe wymagania:
- Unikalne metody za pomocą których odpytuje API takie jak GET, PUT, DELETE, PATCH określane jako ujednolicony interfejs
- Dane zapytanie jest niezależne od stanu aplikacji, zawsze zwraca to samo, czyli jeżeli zapytamy o zasób o ID=1 w API to niezależnie od tego czy jesteśmy użytkownikiem A czy B powinniśmy uzyskać to samo
- API zwraca komunikaty o tym czy dane zapytanie odniosło sukces czy też zwróciło błąd. API powinno wskazać dokładnie co to był za błąd.
- Zapytanie do API powinno jednoznacznie określać jaki rodzaj zasobu odpytuje i dla odpytywania książek będziemy używać innego
- Klient nie wchodzi bezpośrednio w żadną interakcję z zasobami serwera
- Możliwość używania cache. API musi zwracać informację czy dany zasób jest zachowany i czy może być zachowany
Warto pamiętać, że REST to nie to samo co HTTP, a także REST nie narzuca w żaden sposób typu danych które są zwracane z API. Może to być zarówno JSON jak i zwykły tekst.
Jak wygląda zapytanie typu REST do API
Każde zapytanie API powinno posiadać następujące elementy:
- Nazwę endpointu
- Rodzaj metody
- Nagłówki
- Dane
Przykładowym zapytaniem typu GET będzie
curl -H "Authorization: OAuth <ACCESS_TOKEN>" http://www.example.com/users/2
Praktyczne wskazówki RESTful
Wiele jest ogólników dotyczących RESTful API, ale ciężko znaleźć dobre materiały, które by wskazywały co zrobić by w rzeczywistości nasze API spełniało standardy REST.
Konstrukcja URL w RESTful API
Jedną z najważniejszych rzeczy jest konstrukcja URLa. Url powinien mieć:
- korzystamy tylko z małych liter
- wykorzystujemy myślnik ( - ) zamiast podkreślenia ( _ )
- nie dodajemy typu zwracanych danych do naszego urla, zamiast tego powinno się wykorzystywać Content-Type w headerze
- wykorzystujemy liczbę mnogą w nazwie dla nazw kolekcji np /books/
- wykorzystujemy liczbę pojedyncza dla nazw dokumentów np /books/sciencefiction/
- nie wykorzystujemy metody typu create, delete w nazwie np. błędem jest zrobienie /deletebook/
- możemy wersjonować i powinniśmy dodawać główną wersję api do nazwy np. /v1/books/
Zwracane kody odpowiedzi
API powinno zwracać kody odpowiedzi. Standardem są odpowiedzi zawierające kody błędów o numerach od 2xx, 3xx, 4xx, 5xx. Wszystkie poza odpowiedziami z grupy 200 oznaczają, że w naszym API wystąpił jakiś błąd.
Powiązane artykuły
Jam Stack – przełom czy dobrze znana technologia?
17 lut 2022
Jam Stack to technologia, która polega na budowaniu aplikacji internetowych za pomocą statycznie generowanych stron, które są hostowane na serwerach CDN. Jest coraz bardziej popularny wśród programistów, ponieważ oferuje wiele korzyści, takich jak szybkość, niskie koszty utrzymania i bezpieczeństwo.
Tomasz Kozon
#front-end

Jak wykorzystać pliki cookies do poprawy jakości działania strony internetowej?
16 mar 2023
W erze cyfrowej, gdzie użytkownicy oczekują szybkich, spersonalizowanych i bezproblemowych doświadczeń online, coraz więcej właścicieli stron internetowych poszukuje skutecznych sposobów na poprawę jakości swoich witryn. Jednym z narzędzi, które może przyczynić się do osiągnięcia tego celu, są pliki cookie.
Tomasz Kozon
Reklamowanie się w Gmailu za pomocą Gmail Sponsored Promotion.
15 mar 2023
Reklama w internecie to obecnie niezbędny element strategii marketingowych dla firm każdej wielkości i branży. Jednym z kanałów reklamowych, które zdobywają coraz większą popularność, jest Gmail Sponsored Promotion. To narzędzie pozwala na wyświetlanie reklam w skrzynce odbiorczej użytkowników Gmaila w sposób nieinwazyjny i dopasowany do profilu odbiorcy.
Tomasz Kozon
Jakie są różnice między atrybutami nofollow i dofollow?
14 mar 2023
W świecie SEO atrybuty nofollow i dofollow są pojęciami, z którymi każdy właściciel strony internetowej powinien się zapoznać. Oba atrybuty stanowią ważny element optymalizacji strony internetowej, wpływając na jej pozycję w wynikach wyszukiwania. Atrybut nofollow i dofollow oznaczają dwa różne podejścia do linkowania, a ich właściwe stosowanie może przynieść korzyści dla witryny internetowej w postaci zwiększenia ruchu i poprawy reputacji w oczach algorytmów wyszukiwarek.
Tomasz Kozon
Definition of Done w metodologii Agile - jak wykorzystać ten koncept w praktyce
14 mar 2023
W dzisiejszym dynamicznym świecie zarządzania projektami IT, metodologia Agile zyskuje coraz większą popularność jako elastyczne i efektywne podejście do wytwarzania oprogramowania. Wśród kluczowych konceptów Agile, Definition of Done (DoD) pełni istotną rolę w utrzymaniu wysokiej jakości produktów oraz sprawnym monitorowaniu postępów projektu.
Tomasz Kozon
Geotargetowanie w strategii marketingowej: Jak może przyczynić się do wzrostu sprzedaży i świadomości marki
14 mar 2023
W erze cyfryzacji i rosnącej konkurencji na rynku, przedsiębiorstwa poszukują coraz bardziej efektywnych i innowacyjnych strategii marketingowych. Geotargetowanie, czyli wykorzystanie danych geolokalizacyjnych w celu dostarczania spersonalizowanych treści i reklam, stało się jednym z kluczowych narzędzi w budowaniu skutecznych kampanii.
Tomasz Kozon
Co to jest robots.txt i do czego służy?
14 mar 2023
Robots.txt to plik, który jest często pomijany przez właścicieli stron internetowych, a jednocześnie może mieć kluczowe znaczenie dla ich widoczności w wyszukiwarkach. Plik ten określa zasady, według których roboty wyszukiwarek powinny indeksować naszą witrynę. Właściwe wykorzystanie pliku pozwala kontrolować indeksowanie poszczególnych sekcji naszej witryny, co zwiększa jej bezpieczeństwo oraz skupia uwagę robotów na najważniejszych elementach.
Tomasz Kozon
Zobacz wszystkie artykuły