Radek Musil
About meSkills
Services
My Projects
AI news
Contact me
Zpět na slovník

REST API

Vývoj

Také známo jako REST, RESTful API

Stručně

HTTP API postavené kolem zdrojů: podstatná jména v URL, metody jako slovesa a stavové kódy, které nelžou.

REST není norma, ale konvence: zdroje jsou podstatná jména v URL (/orders/123/invoices), metody jsou slovesa (GET čte, POST vytváří, PUT nahrazuje, DELETE maže) a stavový kód říká, co se stalo. Výhoda je, že nový vývojář uhodne API ještě před čtením dokumentace.

Stavové kódy jsou kontrakt

404 znamená, že zdroj neexistuje: klient si vyžádal objednávku 999 a žádná taková není. 500 znamená, že se rozbilo něco u vás — spadlo spojení s databází, propadlo null. Ten rozdíl rozhoduje o tom, jestli klient ukáže „objednávku jsme nenašli“, nebo vzbudí pohotovost ve tři ráno.

Nejčastější hřích je vrátit 200 s { error: '...' } v těle. Každá klientská knihovna i každý monitorovací nástroj čte stavový kód a žádný z nich vaše chybové pole nezná. Vracejte správný kód na serveru a klient přestane hádat.

PUT a DELETE musí být idempotentní

Když dvakrát pošlete stejný PUT, musí zdroj skončit ve stejném stavu, jako když se poslal jednou — PUT celý zdroj nahrazuje, ne doplňuje. Smazání už smazané objednávky může vrátit 404 nebo 204, ale nesmí při tom smazat něco jiného.

Začne to bolet ve chvíli, kdy zasáhne síť. Telefon na 3G odpadne a požadavek zopakuje; když váš delete potichu zvyšuje počítačko, opakování práci udělá dvakrát. Kdekoli je opakování možné, navrhněte operaci tak, aby druhý průchod nic nezpůsobil.

Verzování je levné, hádání ne

Ať už dáte /v1/ do cesty, nebo použijete hlavičku s verzí, rozhodněte první den. Po prvním externím klientovi je přejmenování pole breaking change; s verzí z něj bude aditivní změna. Verzujte to, co vidí externí klienti, ne endpointy mezi vlastními službami.

Upřímný kompromis: REST sedí na domény tvarované jako zdroje — objednávky, zákazníci, dokumenty. U jednoho příkazu, který běží dvě minuty a hlásí průběh, se lépe chová POST, který vrátí id úlohy a endpoint se stavem, než modelování „aktualizace zdroje“.

Zdroje

  • MDN — HTTP response status codes

Související pojmy

Webhook

Služba zavolá váš server ve chvíli, kdy se něco stalo, místo abyste se stokrát ptali, jestli se to už stalo.

Idempotence

Stejný požadavek odeslaný dvakrát musí mít stejný efekt jako jeden — jinak opakování strhne zákazníkovi peníze znovu.

API

Dohodnuté dveře, kterými jeden program žádá druhý o data nebo něco spustí — bez toho, aby věděl, co je uvnitř.

Zpět na slovník
Responzivní designSEO
Radek Musil|Product Engineer
Čeština·English
|Helper·Privacy Policy·Cookies·Terms of Use|

© 2026 Radek Musil. All rights reserved.