Co to jest REST API?

Co to jest REST API?

API

API to akronim od Application Programming interface i to ostatnie słowo, czyli interfejs jest kluczowe do zrozumienia czym jest API.

Żeby zrozumieć koncept interfejsu, wyobraź sobie ładowanie Twojego telefonu. Pamiętasz dawne czasy kiedy każdy producent telefonów miał własny typ gniazda do ładowania? Pożyczenie ładowarki było bardzo kłopotliwe, bo rzadko ktoś miał pasujący wtyk.

Te czasy na szczęście minęły. Obecnie urządzenia wielu różnych producentów ładowane są kablem USB-C. I są to nie tylko telefony.

Więc czym jest interfejs? Interfejs to kontrakt. Ustanowienie zasad i pozwolenie każdemu na korzystanie z nich. To zapewnia zgodność i możliwość pełnej współpracy.

Specyfikacja zasad dla USB-C wyszczególnia: rozmiar i kształt wtyczki, liczbę pinów i wiele innych czynników.

Wiemy już czym jest interfejs. API to po prostu interfejs używany przez programistów w aplikacjach. Oczywiście istnieje wiele typów API.

W tym artykule typ omawianego API to web API. Oznacza to, że komunikacja odbywa się za pomocą połączenia internetowego. Web API umożliwia komunikację programów z serwerem i wymianę danych.

Web API to bardzo wygodny sposób na dostarczanie danych. Wyobraź sobie API dostarczające dane pogodowe. Nie dość, że z jednego API może korzystać wiele programów. To jeszcze programy te mogą być na różnych platformach.

(przykłady Programów używających API: komórka, przeglądarka, inny serwer, IOT – żarówka)

REST API

Mogłoby się wydawać, że samo API to wystarczający standard umożliwiający zaprojektowanie logicznego i wygodnego sposobu komunikacji. Niestety tak nie jest.

API umożliwia rozmowę aplikacji z serwerem. Umożliwia wysłanie zapytania przez aplikację do serwera i wysłanie odpowiedzi przez serwer. Ale treść zapytania i odpowiedzi jest dowolna. To oznacza, że programista może na wiele sposobów tworzyć treść zapytania i odpowiedzi. A to może spowodować chaos.

Wyobraź sobie, że pewna aplikacja chce pobrać wszystkie tytuły książek w bibliotece. Wysyła więc zapytanie:

GET /books/all

Get, czyli daj mi. Wszystkie książki. Wygląda poprawnie, ale

GET /getallbooks/

również,

GET /books?all=true

też jest poprawne. Wszystkie trzy przykłady nie zawierają logicznych błędów, ale jeżeli chcielibyśmy pobrać informacje o wszystkich książkach to najpierw musielibyśmy zajrzeć do dokumentacji i sprawdzić który sposób jest akceptowany przez serwer.

Przedstawiony problem rozwiązuje REST. REST to kolejny standard dotyczący treści i struktury wiadomości wymienianych pomiędzy aplikacją i serwerem.

Zapytanie dla wszystkich książek będzie wyglądać następująco:

GET /books

a dla pojedynczej książki.

GET /books/:id

gdzie id jest unikalnym identyfikatorem książki

Dzięki REST zapytania są bardziej intuicyjne. Łatwo się domyślić, że zapytanie do serwera o autorów książek będzie wyglądać tak:

GET /authors
GET /authors/:id

REST standaryzuje popularne akcje takie jak: create read update delete czyli CRUD.

Dodaj komentarz

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