Programowanie sieciowe - zapoznanie si z HTTP, API, REST oraz implementacja REST API w Pythonie (Falcon)
Zadania realizowane podczas zaj:
- https://repl.it/@KamilRykowski/PyLadies-3-REST-API
Zadanie domowe:
- https://repl.it/@KamilRykowski/PyLadies-3-Homework
2. HTTP
Najpopularniejszy protok坦 do wymiany informacji
w internecie.
Wymiana informacji rozpoczyna si od utworzenia
甜dania (request) po stronie klienta, a koczy po
otrzymaniu odpowiedzi (response) od serwera.
Odpowied添 serwera nie zawsze jest pozytywna -
zdarzaj sibdy, kt坦re mo甜na odczyta po
kodzie odpowiedzi (status code).
3. HTTP - kody odpowiedzi
2xx - kody powodzenia | 200 wszystko OK
3xx - kody przekierowania | 301 zas坦b zmieni na
trwae sw坦j adres
4xx - kody bdu po stronie klienta | 403 brak
uprawnie
5xx - kody bdu po stronie serwera | 500 co poszo
nie tak
4. HTTP - metody
GET - pobranie reprezentacji zasobu. 纏dania tego typu powinny wycznie zwraca dane
(bez ich modyfikacji).
POST - wysanie danych kt坦re powoduj zmiany w stanie systemu (np. wysanie danych
formularza).
PUT - wysanie danych su甜cych do zmiany aktualnie istniejcego zasobu (modyfikacja).
PATCH - podobnie jak PUT, z t r坦甜nic甜e modyfikacja jest czciowa, a nie cakowita.
DELETE - usunicie zasobu z systemu.
HEAD
OPTIONS
TRACE
CONNECT
6. REST API
Bezstanowe - nie u甜ywa sesji po stronie serwera
Dostp do zasob坦w odbywa si wycznie poprzez URI
(URL)
Wykorzystuje metody HTTP do przeprowadzenia
odpowiednich operacji CRUD
Format adres坦w URL utrzymany jest w standardowym
formacie
Zwraca dane w postaci JSON lub XML
7. REST API - standard
GET /users/ pobranie listy u甜ytkownik坦w
POST /users/ tworzenie nowego u甜ytkownika
GET /users/1/ pobranie pojedynczego u甜ytkownika
PUT /users/1/ aktualizacja danych u甜ytkownika
PATCH /users/1/ aktualizacja danych u甜ytkownika
DELETE /users/1/ usunicie u甜ytkownika