První věc, kterou většina lidí podcení, je kousání. Keramické zámky praskají při nárazu tvrdým soustem přímo na zámek. Nejjistější pravidlo: kousejte zadními zuby a jídlo si nakrájejte na menší kusy. Týká se to i zdánlivě neškodných věcí, jako je chleba s kůrkou, mrkev vcelku, jablko nebo bageta. Ukousnutí z celku je nejčastější důvod, proč se zámek utrhne. Pokud už musíte jíst něco tvrdého, rozřežte to nožem, ne zuby.
První problém nastává ve chvíli, kdy aktualizace přinese novou verzi, která na daném zařízení nefunguje správně. Může se stát, že aplikace po aktualizaci spadne při spuštění, přestane se připojovat k serveru, nebo zmizí oblíbená funkce. Pokud se to stane, řešením je aktualizaci odinstalovat a nainstalovat předchozí verzi. Jenže to není tak snadné: obchody s aplikacemi obvykle starší verze nenabízejí. Zálohu předchozí verze je proto vhodné mít uloženou předem, například jako instalační soubor z oficiálního zdroje.
První REST API často vzniká jako jednoduchý endpoint, který vrátí data. Jenže právě v odpovědi se dělá nejvíc chyb. Když klient dostane jiný tvar, než čeká, dochází k chybám, které se špatně hledají. Základem je vrátit vždy stejnou strukturu: stavový kód, tělo s daty nebo chybou a hlavičku Content-Type. Bez toho se i funkční API stává nepředvídatelným.
Formát odpovědi drž konzistentní. Pokud vracíš JSON, vždy posílej hlavičku Content-Type: application/json. Datum a čas posílej v ISO 8601, čísla bez uvozovek, boolean jako true nebo false. U seznamů přidej metadata, jako je celkový počet nebo odkaz na další stránku. Vyhni se vnořování, které klient musí rozbalovat. Čím plošší struktura, tím snazší zpracování.
Požadavek začíná metodou a cestou. Pro čtení používej GET, pro vytvoření POST, pro úpravu PUT nebo PATCH, pro smazání DELETE. Cesta má být podstatné jméno v množném čísle, například /uzivatele. Vyhni se slovesům v cestě, jako /vratUzivatele. Parametry filtrování posílej v query stringu, tělo požadavku nech pro data. U GET nikdy neočekávej tělo, některé klienty ho zahodí.
Platební údaje a jazyk webu Druhý krok je sledovat, jaké platební metody obchod nabízí. Pokud po vás chce pouze převod na bankovní účet nebo platbu kartou přes podivnou bránu bez ověření, zbystřete. Bezpečný obchod nabízí alespoň jednu metodu s ochranou kupujícího, například dobírku nebo platbu přes zprostředkovatele. Dále si všímejte jazyka. Strojově přeložené texty, nesmyslné formulace nebo české věty, které znějí jako z jiného jazyka, jsou častým znakem podvodu. Podívejte se také na to, zda web uvádí kontaktní telefon a zda na něj někdo skutečně zvedá.
Začněte u identity prodávajícího. V patičce nebo v obchodních podmínkách musí být uvedeno skutečné jméno firmy, adresa sídla a identifikační číslo. Chybí-li tyto údaje, nebo jsou zjevně vymyšlené, je to vážný problém. Zkontrolujte, zda se název firmy shoduje s tím, co uvádí web, a zda adresa neodkazuje na virtuální kancelář nebo na bytový dům. Podvodníci často používají smyšlené IČO nebo převezmou identitu jiné, existující firmy. Ověřit se to dá v oficiálním registru, ale i prostým porovnáním údajů na více místech.
Testuj odpovědi ručně i automaticky. Nástroje jako curl nebo HTTP klient ti ukážou reálná data. Ověř, že prázdný seznam vrací [], ne null. Zkontroluj, že chybí-li povinné pole, API vrátí 400 s jasnou zprávou. Sleduj dobu odezvy a loguj chyby. První REST API nemusí být dokonalé, ale musí být čitelné a předvídatelné. Právě konzistence odpovědí rozhoduje o tom, zda s ním někdo bude chtít pracovat.
Při návrhu mysli na verzi. První verzi dej do cesty, například /v1/uzivatele. Změny, které rozbijí kompatibilitu, dělej v nové verzi. U existující verze pouze přidávej pole, nikdy neubírej ani neměň typ. Dokumentace není volitelná, ale musí být krátká a přesná. U každého endpointu uveď metodu, cestu, parametry, příklad požadavku a příklad odpovědi včetně chyb.
Kdy automatické aktualizace vypno
Stavové kódy a chybové odpovědi rozhodují o použitelnosti Nejčastější chyba je vracet 200 OK i při chybě. Klient pak musí hádat, co se stalo. Pro úspěch používej 200, pro vytvoření 201, pro neplatný vstup 400, pro chybějící autentizaci 401, pro nedostatečná práva 403, pro nenalezené 404 a pro neočekávanou chybu serveru 500. Tělo chyby měj jednotné: pole error s kódem a lidsky čitelnou zprávou. Nikdy neposílej stack trace do produkce.
Plocha nad dveřmi je hluchá jen zdánlivě. Vejde se tam otevřená police nebo uzavřená skříňka do výšky, na kterou běžně nedosáhnete. Patří tam věci, které vytahujete dvakrát do roka: vánoční výzdoba, kufry, sezónní obuv. Stejně tak prostor za dveřmi — pokud se dveře neotevírají ke zdi, můžete na ně namontovat úzký věšák nebo síťovanou kapsu na drobnosti. Podmínkou je, aby dveře zůstaly plně funkční a nic nebránilo jejich pohybu.
Add new comment