REST API v praxi: požadavek, který vrací data, nebo chybu?
Základem je správně sestavit požadavek. Metoda určuje operaci: GET čte data, POST vytváří, PUT nahrazuje, PATCH částečně mění a DELETE maže. URL musí být konkrétní, například s identifikátorem záznamu. Hlavičky nesou metadata – typicky Content-Type: application/json u požadavku s tělem a Accept: application/json, pokud chcete odpověď v JSONu. Tělo požadavku posíláte jen u metod, které ho podporují. U GETu tělo nedávejte, server ho obvykle ignoruje a vy ztratíte čas hledáním chyby, která nikde není.
Řešení je věcně jednoduché, ale lidé ho často přehlédnou. V nastavení obchodu s aplikacemi vypněte automatické aktualizace a povolte je jen ručně. Potom si před každou aktualizací přečtěte, co nová verze mění, a zvažte, zda vám to vyhovuje. U aplikací, které aktualizaci řídí samy, hledejte volbu v jejich vlastním nastavení, obvykle v sekci o aplikaci nebo v obecných předvolbách. Pokud ji nenajdete, omezit automatiku nelze a zbývá jen hlídat, kdy se změna stane.
Kde místo přímého slunce hledat a jak to pozn
Když poprvé posíláte požadavek na REST API, většinou skončíte u prázdné odpovědi nebo podivné chyby. Přitom princip je jednoduchý: klient pošle HTTP požadavek na konkrétní URL, server ho zpracuje a vrátí odpověď s tělem a stavovým kódem. Než začnete psát složitý kód, ujasněte si, co vlastně chcete získat. Bez toho budete zmateně přeskakovat mezi metodami GET, POST, PUT a DELETE a výsledek nebude dávat smysl.
Důležité je také směrování světla. Svítidla, která svítí do stran nebo vzhůru, osvětlují stěny a strop, a tím kuchyň opticky roztahují. Bodová světla namířená přímo dolů vytvářejí ostré stíny, které prostor člení a zmenšují. Pokud používáte bodová svítidla, zvolte ta s širším vyzařovacím úhlem a doplňte je nepřímým světlem od stropu. Stíny pak nebudou tak tvrdé a kuchyně bude působit vzdušněji.
Zavedení jedné kontroly týdně zabrání většině problémů. Stačí deset minut: projděte lednici, vytáhněte vše, co se blíží konci trvanlivosti, a naplánujte z toho jídlo na následující dny. Ve spíži udělejte totéž u otevřených balení. Nákupní seznam pak pište až po této kontrole, ne před ní. Uvidíte, že najednou nekupujete to, co už doma dávno máte. Lidé často opakovaně kupují základní suroviny, protože nevědí, co je vzadu v regálu.
Karel IV. zemřel v roce 1378. Funkcionalismus se rodí na počátku 20. století. Přesto se občas v nabídkách realitních kanceláří objeví věta, že „tuhle vilu Karel IV. neviděl". Není to historické tvrzení, ale prodejní zkratka. Znamená jediné: stavba je mladší než gotika a nepatří do žádného památkového fondu, který by se odvolával na středověk. Jakmile takový popis vidíte, ověřte si datum v katastru a projektanta. Právě tam se láme rozdíl mezi originálem a napodobeninou.
Funkcionalistická vila stojí na třech pilířích: železobetonový skelet, pásová okna a plochá střecha. Karel IV. by na takovém domě nenašel jediný prvek, který znal. Žádné klenby, žádné štíty, žádné opěráky. Pokud jde o vilu z 30. let, hledejte v projektu jméno architekta a stavební firmu. Bez těchto údajů je dům jen kostra s omítkou. U replik z 90. let bývá skelet nahrazen zděnými nosníky a pásová okna jsou jen širší parapety. To poznáte na místě: změřte tloušťku zdiva u okna a podívejte se, zda strop nese průvlak, nebo zeď.
Nejčastější chyby při prvním API: zapomenutá hlavička Content-Type, překlep v URL, poslání těla u GETu nebo naopak chybějící tělo u POSTu. Dále se plete autorizace – token patří do hlavičky Authorization, ne do těla. Někteří vývojáři také ignorují stavové kódy a kontrolují jen přítomnost klíče v JSONu. To je past: server může vrátit 200 s prázdným polem a vy si myslíte, že je vše v pořádku. Vždy proto testujte i chybové stavy – pošlete neplatný vstup a sledujte, co se vrátí.
Funkcionalistická vila není muzeum. Má se v ní bydlet, ne ji obdivovat z ulice. Pokud hledáte dům, který Karel IV. opravdu neviděl, ptejte se na projektanta, na konstrukci a na původní detaily. Tím získáte jistotu, že nekupujete jen vzpomínku na dobu, která se už nevrátí.
Co se děje mezi odesláním a odpovědí Server požadavek přijme, ověří, jestli máte oprávnění, a podle cesty a metody zavolá příslušnou logiku. Ta sáhne do databáze nebo jiné služby a výsledek zabalí do odpovědi. Odpověď má vždy stavový kód. Rodina 2xx znamená úspěch, 4xx chybu na straně klienta, 5xx selhání serveru. Tělo odpovědi často obsahuje JSON s daty nebo s popisem chyby. Právě kombinaci kódu a těla je potřeba číst společně – samotné 200 nic neříká o tom, jestli data dávají smysl.