Přeskočit na obsah

Dostupné

FastAPI skeleton

Kostra dělá tři věci: řekne, že běží, řekne, jaká je to verze, a servíruje vygenerovaný web z jednoho originu. Doménová data v ní zatím nejsou žádná.

Umístění
src/progresus_isir/api/
Endpointy
/health (liveness) a /version (build a stav nasazení)
Chyby
application/problem+json podle RFC 9457
Veřejné routy
64: 8 v PUBLIC_ROUTES a 56 v DETAIL_PAGES, plus /sitemap.xml a /robots.txt
Stav
čtecí API nad řízeními, pohledávkami a věřiteli je plánované (fáze 1)

Tabulka rout je kontrakt

Stránky se nemountují jako adresář. Každá routa je vyjmenovaná, takže tabulka je kontrakt a stránka, která leží na disku, ale v tabulce není, není tiše dostupná.

Že se tabulka shoduje se seznamem stránek v buildu, ověřuje e2e sada. Stránka přidaná do buildu bez routy shodí bránu, místo aby později vracela 404.

Chyba má jeden tvar

Odpověď na chybu je vždycky problem+json s typem, titulkem, stavem a detailem. Klient nemusí rozlišovat, jestli chybu vyrobil framework, nebo aplikace.

Do budoucna to má cenu hlavně u čtecího API: chyba „nedostatečná spolehlivost, hodnota je ve frontě kontroly“ musí být strojově odlišitelná od „nenalezeno“.

Jeden origin

Web se servíruje z téže aplikace jako API, takže aplikační shell může volat /v1/… bez CORS. Statické stránky jsou přitom pořád commitnutý generovaný výstup, ne šablony renderované za běhu.

Kde to v repozitáři žije

Souvisí

Zpět na sekci Roadmapa