Co se stane, když první REST API pošle odpověď bez správné hlavičky

Z Mazovia

Začněte světlem. Stropní lampa v ložnici bývá moc vysoko a moc daleko, takže na stránky padá stín z vlastního těla. Malá lampa na stolku musí mít rameno, které se dá sklopit nad knihu, a žárovku s teplým světlem, zhruba do 3000 K. Studené bílé světlo nad 4000 K budí a rozbíjí ospalost. Světlo namiřte na stránku, ne do očí – když si lehnete, zdroj nesmí být v zorném poli. Pokud sdílíte ložnici, zvolte lampu s úzkým kuželem světla, aby osvětlila jen vaši polovinu postele.

Malý pracovní kout ve vertikálním prostoru neznamená jen skříňku s deskou. Zásadní je poměr šířky a hloubky. Pokud máte k dispozici stěnu o šířce 80–120 cm, hloubka desky 40 cm stačí na notebook a šálek, ale ne na klávesnici s monitorem. Užší stěna do 60 cm vyžaduje desku hlubokou alespoň 50 cm, jinak budete sedět bokem. Změřte si vzdálenost od stěny k protilehlé překážce – často bývá menší, než se zdá.

Poslední krok je ověření z druhé strany. Napiš jednoduchý test, který pošle požadavek a zkontroluje stavový kód, hlavičky i tvar těla. Testuj i chybové stavy: chybějící pole, neplatný typ, příliš dlouhý vstup. Právě tam se ukáže, jestli je API použitelné. Když odpověď sedí na požadavek, klient nemusí nic domýšlet a ty máš jistotu, že první REST API přežije i reálné nasazení.

Serializace je další místo, kde se to láme. Datum posílej v jednom formátu, ideálně v ISO 8601 s časovým pásmem. Čísla neposílej jako řetězce, pokud to není nutné. U textů si dej pozor na diakritiku a kódování UTF-8. Pokud klient pošle neplatný JSON, server musí vrátit 400 a přesně popsat, co je špatně. Nikdy nevracej celý stack trace, protože tím prozradíš strukturu aplikace.

Stavové kódy a tělo odpovědi rozhodují o dalším kroku Server musí odpovědět stavovým kódem, který odpovídá realitě. 200 znamená úspěch, 201 vytvoření, 400 chybu na straně klienta, 404 nenalezeno, 500 chybu serveru. Častá chyba je vracet 200 i u chyby a schovat problém do těla odpovědi. Klient pak musí hádat, jestli šlo o úspěch, nebo ne. Tělo odpovědi měj vždy ve stejném formátu, obvykle JSON, a u chyb přidej strojově čitelný kód a lidsky srozumitelnou zprávu.

Přesazujte na jaře nebo na začátku léta, kdy rostliny aktivně rostou. Při přesazování jemně odstraňte starou zeminu z kořenů, zkontrolujte je a odstřihněte měkké nebo zapáchající části. Nový květináč nemusí být o mnoho větší, ale musí mít čisté dno a drenážní vrstvu z keramzitu nebo kamínků. Po přesazení nezalévejte hned vydatně – počkejte dva až tři dny, aby se případné poškozené kořeny stihly zahojit a nezačaly hnít.

Pokud chcete mít vůni opravdu čerstvou, část bylinek zamrazte. Nasekejte je do formiček na led, zalijte vodou nebo olejem a zmrazte. Použijte je přímo do vaření. Další možností je uchovat bylinky v oleji nebo octu, ale tyto směsi patří do lednice a vydrží jen omezenou dobu. Sušené bylinky mají trvanlivost zhruba rok, pak slábnou. Proto je lepší sušit menší množství každý rok a mít vždy po ruce čerstvou úrodu.

Pro domácnosti je podstatná jiná větev systému. Horká voda z vrtu putuje izolovaným potrubím do výměníkové stanice ve čtvrti. Tam předá teplo vodě v místním okruhu, která už může mít nižší teplotu a nižší tlak. Tato voda pak proudí přímo do radiátorů a podlahového topení. Teplota se reguluje směšovacím ventilem, který přidává chladnější vratnou vodu. Bez tohoto vyvážení by radiátory byly zbytečně horké a v místnostech by se nedalo vydržet.

Začni tím, že požadavek popíšeš co nejpřesněji. Metoda určuje operaci: GET čte, POST vytváří, PUT nahrazuje, PATCH mění část, DELETE maže. Pokud metodu změníš jen kvůli tomu, že klient neumí poslat tělo požadavku, API se stane nepředvídatelné. Stejně důležitá je cesta k prostředku. Drž se podstatných jmen v množném čísle a vyhýbej se slovesům v URL. Jasná cesta je půlka úspěchu.

První funkční REST API vzniká ve chvíli, kdy klient pošle požadavek a server vrátí odpověď. Většina začátečníků se soustředí na samotný obsah odpovědi, ale zapomíná na to, co cestu mezi nimi řídí: hlavičky, stavové kódy a serializaci dat. Právě tam vzniká nejvíc chyb, které se později těžko hledají, protože klient dostane data, ale neví, co znamenají.

Při ladění si vystačíš s nástrojem, který umí zobrazit hlavičky i tělo. Nejdřív zkontroluj Content-Type a Accept. Pokud klient posílá data jako JSON, musí to být v hlavičce. Server, který očekává JSON, ale dostane formulářová data, často vrátí podivnou chybu. Dále sleduj autentizaci. Token patří do hlavičky Authorization, ne do URL. V URL se může dostat do logů a odtud uniknout.