R prezentační S tate T ransfer (REST) je architektonický styl, který definuje sadu omezení, která se mají použít pro vytváření webových služeb. REST API je způsob, jak přistupovat k webovým službám jednoduchým a flexibilním způsobem bez jakéhokoli zpracování.
Technologie REST je obecně preferována před robustnější technologií Simple Object Access Protocol (SOAP), protože REST využívá menší šířku pásma, je jednoduchý a flexibilní, takže je vhodnější pro použití na internetu. Používá se k načítání nebo poskytování některých informací z webové služby. Veškerá komunikace přes REST API využívá pouze HTTP požadavek.
Pracovní: Požadavek je odeslán z klienta na server ve formě webové adresy URL jako požadavek HTTP GET nebo POST nebo PUT nebo DELETE. Poté se ze serveru vrátí odpověď ve formě zdroje, který může být cokoli jako HTML, XML, obrázek nebo JSON. Nyní je však JSON nejoblíbenějším formátem používaným ve webových službách.
Sestavte REST API Mastery Naučte se integrovat populární a praktická Python REST API do webových aplikací Django s interaktivní cestou dovedností Educative Staňte se integrátorem API založeným na Pythonu. Zaregistrujte se na Educative.io pomocí kódu GEEKS10 ušetříte 10 % na předplatném.
v HTTP existuje pět metod, které se běžně používají v architektuře založené na REST, tj. POST, GET, PUT, PATCH a DELETE. Ty odpovídají operacím vytváření, čtení, aktualizace a mazání (nebo CRUD). Existují další metody, které se používají méně často, jako OPTIONS a HEAD.
- DOSTAT: Používá se metoda HTTP GET číst (nebo získat) reprezentaci zdroje. V bezpečné cestě vrací GET reprezentaci v XML nebo JSON a kód odpovědi HTTP 200 (OK). V případě chyby nejčastěji vrací 404 (NOT FOUND) nebo 400 (BAD REQUEST).
- POŠTA: Nejčastěji se používá sloveso POST vytvořit nové zdroje. Zejména se používá k vytváření podřízených zdrojů. Tedy podřízený nějakému jinému (např. nadřazenému) zdroji. Po úspěšném vytvoření vraťte stav HTTP 201 a vrátíte záhlaví Location s odkazem na nově vytvořený prostředek se stavem HTTP 201.
POZNÁMKA: POST není bezpečný ani idempotentní.
- DÁT: Používá se pro aktualizace schopnosti. Lze však použít i PUT vytvořit zdroj v případě, kdy ID prostředku volí klient místo serveru. Jinými slovy, pokud je PUT na URI, který obsahuje hodnotu ID neexistujícího prostředku. Po úspěšné aktualizaci vraťte 200 (nebo 204, pokud nevracíte žádný obsah v těle) z PUT. Pokud pro vytvoření používáte PUT, po úspěšném vytvoření vraťte stav HTTP 201. PUT není bezpečný provoz, ale je idempotentní.
- NÁPLAST: Je zvyklý modifikovat schopnosti. Požadavek PATCH musí obsahovat pouze změny prostředku, nikoli celý prostředek. Toto se podobá PUT, ale tělo obsahuje sadu instrukcí popisujících, jak by měl být zdroj aktuálně umístěný na serveru upraven, aby vytvořil novou verzi. To znamená, že tělo PATCH by nemělo být jen upravenou částí zdroje, ale v nějakém jazyce opravy, jako je JSON Patch nebo XML Patch. PATCH není bezpečný ani idempotentní.
- VYMAZAT: Je zvyklý vymazat zdroj identifikovaný pomocí URI. Po úspěšném odstranění vraťte stav HTTP 200 (OK) spolu s tělem odpovědi.
Idempotence: Idempotentní metoda HTTP je metoda HTTP, kterou lze volat mnohokrát bez různých výsledků. Nezáleží na tom, zda je metoda volána pouze jednou nebo desetkrát. Výsledek by měl být stejný. Opět to platí pouze pro výsledek, nikoli pro samotný zdroj.
Příklad:
C
průmysl a továrna
1. a = 4> // It is Idempotence, as final value(a = 4)> > // would not change after executing it multiple> > // times.> 2. a++> // It is not Idempotence because the final value> > // will depend upon the number of times the> > // statement is executed.> |
>
>
Žádost a odpověď
Nyní uvidíme, jak žádost a odpověď fungují pro různé HTTP metody. Předpokládejme, že máme API( https://www.techcodeview.com ) pro všechna data studentů z gfg.
- DOSTAT: Žádost pro všechny studenty.
Žádost |
GET:/api/students |
- POŠTA: Žádost o zaúčtování/vytvoření/vložení dat
Žádost |
POST:/api/students {jméno:Raj} |
- PUT nebo PATCH: Žádost o aktualizaci dat na id=1
Žádost |
PUT nebo PATCH:/api/students/1 {jméno:Raj} |
- VYMAZAT: Požadavek na smazání dat id=1
Žádost |
DELETE:/api/students/1 |
Webové služby RESTful jsou velmi oblíbené, protože jsou lehké, vysoce škálovatelné a udržovatelné a velmi běžně se používají k vytváření API pro webové aplikace.