Co je to API?
API (Application Programming Interface) umožňuje dvěma softwarovým komponentám vzájemně komunikovat pomocí sady definic a protokolů [4]. V jazyce C# a na platformě .NET [3] se s daty z API pracuje pomocí systémové třídy HttpClient a metod z oboru názvů System.Net.Http.Json [3].
Zápis await Http.GetFromJsonAsync<TypObjektu>("https://api.vydavatel.cz/data") říká kompilátoru: "Pošli HTTP požadavek na danou externí adresu, stáhni textový JSON a rovnou ho přelož do předpřipravené C# struktury." [3].
Technické pojmy a nástroje
HTTP metoda GET – typ požadavku, který se používá k načtení (nebo získání) dat z daného prostředku [5]. Slouží výhradně ke čtení informací, přičemž v těle tohoto požadavku se neodesílají žádná data [5].
C# Model (Třída) – datová struktura v jazyce C#, do které se textový JSON stažený z API v paměti aplikace překládá [1]. Slouží jako "překladová šablona", jejíž vlastnosti musí přesně odpovídat klíčům vráceným ze serveru, aby s nimi bylo možné pracovat [1]. Zapisujeme jako třídu, např. public class Model { public string Vlastnost { get; set; } }.
HttpClient – systémová třída na platformě .NET, která odesílá HTTP požadavky a přijímá HTTP odpovědi z prostředku identifikovaného pomocí URI [3]. Slouží jako relace ke komunikaci s webovými servery [3]. V Blazor komponentě se obvykle připojuje zápisem @inject HttpClient Http.
GetFromJsonAsync – asynchronní rozšiřující metoda, která se používá k automatické deserializaci (převodu) GET požadavků do silně typovaného C# objektu [3]. Slouží k rychlému stažení a zpracování dat jedním příkazem [3]. Zapisujeme způsobem var data = await Http.GetFromJsonAsync<TypObjektu>("https://adresa-api...");.