RESTful
2 minuty czytania
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.
Ostatnie oferty pracy
Powiązane case studies
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.
Nasza oferta
Web development
Dowiedz się więcejMobile development
Dowiedz się więcejE-commerce
Dowiedz się więcejProjektowanie UX/UI
Dowiedz się więcejOutsourcing
Dowiedz się więcejPowiązane artykuły
Porównanie sposobów komunikacji między aplikacją frontendową REST vs GraphQL
23 cze 2023
Artykuł poświęcony będzie porównaniu dwóch popularnych sposobów komunikacji między aplikacją frontendową a backendem - REST i GraphQL. Porównamy ich wady i zalety, zwracając szczególną uwagę na sposoby przesyłania danych oraz dostępność dla programistów. Czy warto wybrać GraphQL zamiast REST? Odpowiedź znajdziesz w naszym artykule.
![related-article-image-null](/_next/image?url=https%3A%2F%2Fd2ooyrflu7lhqd.cloudfront.net%2FBoring_Owl_communication_data_fetching_singles_fb10495a_0f9a_42f4_90e4_8837786f48ae_5f79cc0c53.png%3Fformat%3Dauto&w=3840&q=75)
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.
Network Marketing: Definicja i mechanizmy działania
19 cze 2024
Network Marketing to wielowymiarowy temat, wymagający głębokiego zrozumienia dla pełnej aprecjacji. W artykule będzie poruszana koncepcja Network Marketingu, definiując ją i wyjaśniając, jakie mechanizmy są ukierunkowane na osiągnięcie zamierzonych rezultatów, aby dać Czytelnikowi klarowną perspektywę funkcjonowania takiego systemu. Usługa ta ma na celu pomóc zrozumieć i nauczyć skutecznych strategii Networkingu.
Podstawy due diligence: Co każdy inwestor powinien wiedzieć
19 cze 2024
Skuteczne inwestowanie w branży IT wymaga nie tylko zrozumienia technologii, ale również przeprowadzenia dokładnej analizy 'due diligence'. Ta kontrola to niezbędne narzędzie pozwalające ocenić potencjał, ryzyko, a także ukryte problemy firmy IT. W naszym artykule przybliżymy główne obszary, które każdy inwestor powinien rozważyć.
Zarządzanie Big Data za pomocą Apache ZooKeeper
19 cze 2024
Zarządzanie Big Data bywa złożonym zadaniem, a jednym z kluczowych narzędzi, które umożliwiają efektywne manipulacja masowymi danymi, jest Apache ZooKeeper. W tym artykule przybliżymy tego potężnego koordynatora usług rozproszonych, ukazując praktyczne zastosowania oraz sposoby implementacji. Pomożemy zrozumieć, jak zoo opiekuje się danymi.
Jak efektywnie wykorzystać w testach AB platformę Optimizely
18 cze 2024
Zrozumienie i optymalizacja procesu testów A/B jest kluczowe dla efektywnego rozwoju każdej witryny. Za pomocą platformy Optimizely, proces ten może być łatwiejszy i bardziej precyzyjny. W naszym poradniku odkryjesz praktyczne wskazówki jak zastosować to narzędzie do optymalizacji testów A/B.
Wskaźnik ROE - klucz do oceny rentowności kapitału własnego
18 cze 2024
Wskaźnik ROE, czyli rentowności kapitału własnego, to jedno z kluczowych narzędzi w ocenie efektywności inwestycji. Dzięki niemu jesteśmy w stanie oszacować, czy i w jakim stopniu środki zaangażowane w przedsięwzięcie generują zysk. ROE to jednak nie tylko suche liczby - to perspektywa na zdrowie finansowe firmy. W tym artykule przybliżymy jego znaczenie i sposób obliczania.
Zobacz wszystkie artykuły