Cvičení – přidání úložiště dat
Než začnete implementovat webové rozhraní API pro pizzu, musíte mít úložiště dat, na kterém můžete provádět operace.
Potřebujete model
třídu, která bude představovat pizzu v inventáři. Model obsahuje vlastnosti, které představují charakteristiky pizzy. Model se používá k předávání dat ve webovém rozhraní API a k zachování možností pizzy v úložišti dat.
V této lekci je toto úložiště dat jednoduchou místní službou ukládání do mezipaměti v paměti. V reálné aplikaci byste měli zvážit použití databáze, jako je SQL Server, s Entity Framework Core.
Vytvoření modelu pizzy
Spuštěním následujícího příkazu vytvořte složku Models :
mkdir Models
Vyberte složku Models v editoru Visual Studio Code a přidejte nový soubor s názvem Pizza.cs.
Kořenový adresář projektu teď obsahuje adresář s prázdným Models Pizza.cs souborem. Název adresáře Models je konvence. Název adresáře pochází z architektury kontroleru zobrazení modelu, kterou webové rozhraní API používá.
Přidejte následující kód a Models/Pizza.cs uložte změny. Tato třída definuje pizzu.
namespace ContosoPizza.Models; public class Pizza { public int Id { get; set; } public string? Name { get; set; } public bool IsGlutenFree { get; set; } }
Přidání datové služby
Spuštěním následujícího příkazu vytvořte složku Services :
mkdir Services
Vyberte složku v editoru Visual Studio Code a přidejte nový soubor s názvem PizzaService.cs.
Přidejte následující kód a Services/PizzaService.cs uložte změny. Tento kód vytvoří datovou službu pizzy v paměti.
using ContosoPizza.Models; namespace ContosoPizza.Services; public static class PizzaService { static List<Pizza> Pizzas { get; } static int nextId = 3; static PizzaService() { Pizzas = new List<Pizza> { new Pizza { Id = 1, Name = "Classic Italian", IsGlutenFree = false }, new Pizza { Id = 2, Name = "Veggie", IsGlutenFree = true } }; } public static List<Pizza> GetAll() => Pizzas; public static Pizza? Get(int id) => Pizzas.FirstOrDefault(p => p.Id == id); public static void Add(Pizza pizza) { pizza.Id = nextId++; Pizzas.Add(pizza); } public static void Delete(int id) { var pizza = Get(id); if(pizza is null) return; Pizzas.Remove(pizza); } public static void Update(Pizza pizza) { var index = Pizzas.FindIndex(p => p.Id == pizza.Id); if(index == -1) return; Pizzas[index] = pizza; } }
Tato služba poskytuje ve výchozím nastavení jednoduchou službu ukládání dat do mezipaměti v paměti se dvěma pizzami. Naše webové rozhraní API používá službu k ukázkovým účelům. Když zastavíte a spustíte webové rozhraní API, mezipaměť dat v paměti se resetuje na dvě výchozí pizzy z konstruktoru
PizzaService
.
Sestavení projektu webového rozhraní API
Spuštěním následujícího příkazu sestavte aplikaci:
dotnet build
Sestavení proběhne úspěšně bez jakýchkoli upozornění. Pokud se sestavení nezdaří, zkontrolujte výstupní informace o odstraňování potíží.
V další lekci vytvoříte kontroler, který bude používat Pizza
model a PizzaService
třídu.