R prezentačný S tate T ransfer (REST) je architektonický štýl, ktorý definuje množinu obmedzení, ktoré sa majú použiť na vytváranie webových služieb. REST API je spôsob prístupu k webovým službám jednoduchým a flexibilným spôsobom bez akéhokoľvek spracovania.

Technológia REST je vo všeobecnosti preferovaná pred robustnejšou technológiou Simple Object Access Protocol (SOAP), pretože REST využíva menšiu šírku pásma, je jednoduchý a flexibilný, vďaka čomu je vhodnejší na používanie internetu. Používa sa na načítanie alebo poskytnutie niektorých informácií z webovej služby. Všetka komunikácia cez REST API využíva iba HTTP požiadavku.
pracuje: Požiadavka je odoslaná z klienta na server vo forme webovej adresy URL ako požiadavka HTTP GET alebo POST alebo PUT alebo DELETE. Potom sa zo servera vráti odpoveď vo forme zdroja, ktorý môže byť čokoľvek ako HTML, XML, Obrázok alebo JSON. Teraz je však JSON najpopulárnejším formátom používaným vo webových službách.
Zostavte REST API Mastery Naučte sa integrovať populárne a praktické Python REST API do webových aplikácií Django s interaktívnou cestou zručností Educative Staňte sa integrátorom API založeným na Pythone. Zaregistrujte sa na Educative.io pomocou kódu GEEKS10 aby ste ušetrili 10 % na vašom predplatnom.

In HTTP existuje päť metód, ktoré sa bežne používajú v architektúre založenej na REST, tj POST, GET, PUT, PATCH a DELETE. Tieto zodpovedajú operáciám vytvárania, čítania, aktualizácie a odstraňovania (alebo CRUD). Existujú aj iné metódy, ktoré sa používajú menej často, napríklad OPTIONS a HEAD.
- ZÍSKAJTE: Používa sa metóda HTTP GET čítať (alebo získať) reprezentáciu zdroja. V bezpečnej ceste GET vráti reprezentáciu vo formáte XML alebo JSON a kód odpovede HTTP 200 (OK). V prípade chyby najčastejšie vráti 404 (NOT FOUND) alebo 400 (BAD REQUEST).
- PRÍSPEVOK: Najčastejšie sa používa sloveso POST vytvoriť nové zdroje. Používa sa najmä na vytváranie podriadených zdrojov. Teda podriadený nejakému inému (napr. rodičovskému) zdroju. Po úspešnom vytvorení vráťte stav HTTP 201 a vráti hlavičku Location s odkazom na novovytvorený prostriedok so stavom HTTP 201.
POZNÁMKA: POST nie je bezpečný ani idempotentný.
- PUT: Používa sa na aktualizácie schopnosti. Dá sa však použiť aj PUT vytvoriť zdroj v prípade, že ID prostriedku volí klient namiesto servera. Inými slovami, ak je PUT na URI, ktoré obsahuje hodnotu ID neexistujúceho prostriedku. Po úspešnej aktualizácii vráťte 200 (alebo 204, ak nevraciate žiadny obsah v tele) z PUT. Ak na vytvorenie používate PUT, pri úspešnom vytvorení vráťte stav HTTP 201. PUT nie je bezpečná prevádzka, ale je idempotentná.
- NÁPRAVA: Je zvyknutý upraviť schopnosti. Požiadavka PATCH musí obsahovať iba zmeny prostriedku, nie celý prostriedok. Toto sa podobá PUT, ale telo obsahuje súbor inštrukcií popisujúcich, ako by sa mal zdroj aktuálne umiestnený na serveri upraviť, aby vytvoril novú verziu. To znamená, že telo PATCH by nemalo byť len upravenou časťou zdroja, ale v nejakom jazyku opravy, ako je JSON Patch alebo XML Patch. PATCH nie je bezpečný ani idempotentný.
- VYMAZAŤ: Je zvyknutý vymazať zdroj identifikovaný pomocou URI. Po úspešnom odstránení vráťte stav HTTP 200 (OK) spolu s telom odpovede.
Idempotencia: Idempotentná metóda HTTP je metóda HTTP, ktorú možno volať mnohokrát bez rôznych výsledkov. Nezáleží na tom, či sa metóda volá len raz alebo desaťkrát. Výsledok by mal byť rovnaký. Opäť to platí len pre výsledok, nie pre samotný zdroj.
Príklad:
C
diskrétna matematická negácia
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.> |
>
>
Žiadosť a odpoveď
Teraz uvidíme, ako funguje žiadosť a odpoveď pre rôznych HTTP metódy. Predpokladajme, že máme API( https://www.techcodeview.com ) pre všetky údaje študentov z gfg.
- ZÍSKAJTE: Žiadosť pre všetkých študentov.
| Žiadosť |
| GET:/api/students |
- PRÍSPEVOK: Žiadosť o zaúčtovanie/vytvorenie/vloženie údajov
| Žiadosť |
| POST:/api/students {meno:Raj} |
- PUT alebo PATCH: Žiadosť o aktualizáciu údajov na id=1
| Žiadosť |
| PUT alebo PATCH:/api/students/1 {meno:Raj} |
- VYMAZAŤ: Žiadosť o vymazanie údajov id=1
| Žiadosť |
| DELETE:/api/students/1 |
Webové služby RESTful sú veľmi populárne, pretože sú ľahké, vysoko škálovateľné a udržiavateľné a veľmi bežne sa používajú na vytváranie API pre webové aplikácie.