Nejčastější chyba při prvním commitu, která zkomplikuje celý projekt
Na závěr si zkuste napsat malý skript, který zpracuje odpověď z API a uloží ji do souboru. To vás naučí pracovat s daty, která nejsou čistě tabulková. Často narazíte na vnořené struktury — pole objektů, objekty v objektech. Naučte se je procházet a získávat konkrétní hodnoty. Pokud narazíte na chybu, kterou nechápete, zkuste si odpověď vypsat celou, včetně hlaviček. Často tam najdete podrobnosti, které vám pomůžou problém vyřešit. Až to zvládnete, budete mít solidní základ pro práci s jakýmkoli API, které vám přijde do cesty.
Co se stane, když místo přesného data nabídnete rozpětí Místo jediného data nabídněte rozpětí, které je realistické. Například „dokončíme to mezi úterým a čtvrtkem". Tím zákazníkovi ukazujete, že počítáte s možnými komplikacemi, a zároveň mu dáváte jasný rámec. Vyhněte se ale příliš širokému rozpětí typu „do dvou týdnů", protože to působí nejistě. Ideální je rozpětí, které zahrnuje váš optimistický odhad a k němu přidává rezervu na nepředvídané události. Uvnitř týmu si pak nastavte interní termín, který je dřív než ten, který sdělujete zákazníkovi.
Když narazíte na chybu, nejprve zkontrolujte tři věci: URL, hlavičky a tělo požadavku. Často se stane, že v URL chybí lomítko na konci nebo je použita špatná metoda (například GET místo POST). V hlavičkách může být překlep v názvu – místo Content-Type píšete Content-type, což některé servery tolerují, ale jiné ne. V těle zase může být špatně uzavřená závorka nebo chybějící čárka, což JSON neodpustí. Využijte funkci Console, která zobrazí přesně to, co se odešle na server, a porovnejte s dokumentací API.
První kontakt s API může vypadat jako vstup do místnosti plné páček a tlačítek, kde nevíte, které zmáčknout. Přitom stačí pochopit základní princip: API je rozhraní, přes které si váš program povídá s cizí službou. Nemusíte vědět, jak funguje uvnitř – stačí poslat správně naformátovaný požadavek a přečíst odpověď. Začněte proto u volání, třeba u ověření, že služba běží, a postupně přidávejte parametry.
Největší chybou, kterou můžete udělat, je, že budete commitovat všechno do jednoho obřího balíku s názvem „WIP" a necháte to být. Verzování má smysl, pokud se k jednotlivým krokům umíte vrátit. Začněte s malými, srozumitelnými commity a pravidelně kontrolujte, co se do nich dostalo. Git vás za to odmění tím, že vám ušetří hodiny hledání chyb a nervů při každém větším zásahu do kódu.
Typickou chybou začátečníků je použití NoSQL pro data, která vyžadují vztahy a transakce. Pokud ukládáte faktury a položky faktur, potřebujete zaručit, že se buď uloží celý dokument, nebo se neuloží nic. Většina NoSQL databází sice nabízí transakce, ale jejich použití je často omezené a složitější než v SQL. Než začnete modelovat, ověřte si, jak daný systém řeší atomické operace. Další pastí je špatný výběr typu databáze: dokumentová databáze není vhodná rady pro rekonstrukci grafy vztahů mezi uživateli, klíč-hodnota úložiště neumí efektivně dotazovat podle více atributů. Vždy si nejprve definujte, jak budete data číst, a teprve potom vyberte konkrétní nástroj.
Jakmile rozumíte odpovědím, začněte psát vlastní kód. Většina jazyků má knihovny, které práci s API výrazně zjednoduší. V Pythonu je to třeba knihovna na HTTP požadavky, v JavaScriptu pak funkce fetch. Nezapomeňte na dvě věci: vždy nastavte časový limit, aby se váš program nezasekl, a vždy zpracujte chyby — nepočítejte s tím, že API odpoví přesně podle dokumentace. Typická začátečnická chyba je ignorovat chybové stavy a předpokládat, že data jsou vždy ve stejném formátu.
Nejdřív si osvojte práci s nástrojem, který vám ukáže, co API vrací. Můžete použít terminál, ale pro začátek je pohodlnější nějaký grafický klient, kde vidíte hlavičky, tělo odpovědi i status kód. Vyzkoušejte si na testovacím prostředí, jak vypadá úspěšná odpověď a jak chybová hláška. Všímejte si stavových kódů — 200 znamená, že vše proběhlo v pořádku, 404 říká, že jste hledali něco, co neexistuje, a 429 upozorňuje, že jste překročili limit volání. Tyto kódy jsou váš navigační maják.
Při psaní prvních funkcí se držte jednoduchosti. Vyberte si jeden zdroj dat, třeba počasí nebo seznam článků, a zpracujte odpověď tak, abyste ji zobrazili v konzoli. Pak zkuste přidat filtr nebo třídění. Dávejte pozor na limit počtu požadavků — pokud na něj narazíte, musíte počkat nebo použít kurzor pro stránkování. Nikdy neposílejte víc volání, než je nutné. Místo abyste každých pět sekund dotazovali API na data, která se nemění, ukládejte si je lokálně a aktualizujte jen tehdy, když to dává smysl.