5 věcí, které rozhodují o tom, co vrátí vaše první API
Potvrzení nepřinese jen váha, protože ta sama o sobě nic neříká. Důležité je srovnání s ideální hmotností konkrétního plemene a stavbou těla. Větší pes s těžkou kostrou může vážit víc než štíhlý pes stejné výšky a přesto být v pořádku. Proto se vyplatí zapsat si aktuální váhu, změřit obvod hrudníku a tyto údaje průběžně sledovat. Teprve změna v čase ukáže, zda se situace zlepšuje, nebo zhoršuje.
Druhá možnost je využít dveře. Na zadní stranu vchodových dveří patří věšák na klíče a lehkou tašku, na dveře do pokoje zase úzký závěsný organizér. Pozor na hmotnost: dveřní závěsy nejsou dimenzované na těžké zimní bundy. Pokud dveře samy zavírají, těžký věšák je přestane držet ve správné poloze a budeš je pořád dorovnávat.
Postupovat je lepší po malých krocích. Začněte tím, že si odměříte standardní odměrku nebo použijete kuchyňskou váhu a zjistíte, kolik pes skutečně dostává. Potom uberte zhruba deset procent celkového denního množství a rozdělte ho do tří až čtyř menších porcí. Pamlsky nahraďte částí denní krmné dávky nebo kousky vařené zeleniny. Pokud pes dostává konzervy i granule, počítejte obojí. Nikdy neubírejte pod polovinu původní dávky a vždy sledujte, zda pes nepřichází o svalovou hmotu místo tuku.
Poslední věc, na kterou se zapomíná, je časový limit. Požadavek bez limitu může viset věčně a zablokovat celou aplikaci. Nastavte limit na připojení i na čtení odpovědi a při překročení požadavek ukončete. Pokud API voláte opakovaně, sledujte hlavičky s omezením počtu požadavků – překročení vrátí 429 a další pokusy situaci jen zhorší. Mezi opakováním dělejte rostoucí pauzu, ne okamžitý nový pokus.
Před montáží roštu zkontroluj rozvody elektřiny, vzduchotechniky a vody. Kabely musí být v chráničkách a nesmí se křížit s ostny profilů. Všechny prostupy izolací a parozábranou utěsni, jinak jimi uniká teplý vzduch a vzniká kondenzace. Zároveň si rozmysli, kam přijde revizní dvířka pro přístup k ventilaci nebo ke komínu.
Před odesláním požadavku si ověřte, že máte správnou metodu a že cílová adresa neobsahuje překlep. Zkuste požadavek nejdřív ručně v nástroji, který zobrazí hlavičky i tělo, a teprve potom ho zapisujte do kódu. V kódu vždy ošetřete stavový kód před čtením těla – pokud je odpověď 204, tělo neexistuje a jeho parsování spadne. Totéž platí pro přesměrování: některé knihovny ho následují automaticky a změní metodu z POST na GET, čímž přijdete o data.
Název sítě (SSID) často napoví víc, než se zdá. Výchozí název výrobce, jako je jméno modelu routeru, říká útočníkovi, jaký hardware používáte, a tím i jaké chyby má. Přejmenujte síť na něco neutrálního, co neobsahuje vaše jméno, adresu ani název firmy. Zároveň nikdy neponechávejte výchozí přihlašovací údaje do administrace routeru. Pokud jsou admin a heslo stále stejné jako z výroby, kdokoli se dostane do nastavení a síť si převezme.
Odpověď má vždy stavový kód a tělo. Stavové kódy se dělí na skupiny: 2xx znamená úspěch, 4xx chybu na straně klienta, 5xx chybu serveru. Nejdůležitější je 201 při vytvoření zdroje a 400 při neplatném vstupu. Tělo odpovědi bývá ve formátu JSON, ale není to pravidlo – vždy se řiďte hlavičkou Content-Type v odpovědi, ne tím, co jste poslali vy. Pokud server vrátí 200, ale v těle je zpráva o chybě, je to špatně navržené API a měli byste to nahlásit.
Jak číst chyby a nespálit se na nich Chybová odpověď není nic výjimečného, je to běžná součást komunikace. Dobré API vrací u chyby strukturované tělo s kódem a popisem, například pole s názvem chyby a lidsky čitelnou zprávou. Nikdy nehádejte příčinu podle stavového kódu samotného – 404 může znamenat špatnou adresu, ale i existující zdroj, ke kterému nemáte přístup. Vždy si přečtěte celé tělo odpovědi. Častá chyba začátečníků je posílat data jako query parametry v URL místo do těla požadavku. URL má omezenou délku a citlivá data v ní zůstávají v logech.
Než pošlete první požadavek, musíte vědět, co vlastně posíláte. Každý HTTP požadavek se skládá ze tří částí: metody, adresy a hlaviček. Metoda říká serveru, co má udělat – GET čte, POST vytváří, PUT nahrazuje, PATCH mění část a DELETE maže. Adresa určuje, na jaký zdroj míříte. Hlavičky nesou metadata: Content-Type říká, v jakém formátu tělo posíláte, Accept zase, jaký formát očekáváte zpět. Pokud Content-Type vynecháte, server často tělo vůbec nepřečte a vrátí chybu, i když data pošlete správně.