Cvičení – přidání úložiště dat
Než začneme implementovat naše webové rozhraní API pro pizzu, musíme mít úložiště dat, na které můžeme provádět operace.
K reprezentaci pizzy v inventáři je potřeba modelová třída. Model obsahuje vlastnosti, které představují charakteristiky pizzy. Model slouží k předání dat ve webovém rozhraní API a k zachování možností pizzy v datovém obchodě. V této jednotce bude toto úložiště dat jednoduchou místní službou ukládání do mezipamě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
Modelssložku:mkdir ModelsVyberte složku
Modelsv Visual Studio Code a přidejte nový soubor s názvemPizza.cs.
Kořen projektu teď obsahuje adresář Models s prázdným Pizza.cs souborem. Název adresáře Models je konvence. Název adresáře pochází z architektury Model-View-Controller, kterou používá webové rozhraní API.
Do souboru přidejte následující Models/Pizza.cs kód, který definuje pizzu. Uložte provedené změny.
namespace ContosoPizza.Models { public class Pizza { public int Id { get; set; } public string Name { get; set; } public bool IsGlutenFree { get; set; } } }Tip
V Cloud Shell Editoru jsou užitečné následující klávesové zkratky.
Klávesová zkratka Příkaz Ctrl+V (Windows)
⌘+V (macOS)Vložit Ctrl+S (Windows)
⌘+S (macOS)Uložit
Přidání datové služby
Spuštěním následujícího příkazu vytvořte
Servicessložku:mkdir ServicesVyberte složku v Visual Studio Code a přidejte nový soubor s názvem
PizzaService.cs.
Do souboru přidejte následující Services/PizzaService.cs kód, který vytvoří datovou službu pizzy v paměti. Uložte provedené změny.
using ContosoPizza.Models; using System.Collections.Generic; using System.Linq; 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 jednoduchou službu ukládání dat do mezipaměti v paměti se dvěma pizzami ve výchozím nastavení, kterou bude naše webové rozhraní API používat pro ukázkové účely. Když webové rozhraní API zastavíme a spustíme, obnoví se datová mezipaměť v paměti 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íží.
Model Pizza a třídu PizzaService bude používat kontroler, který vytvoříme v další lekci.
Potřebujete pomoc? Projděte si našeho průvodce odstraňováním potíží nebo nahlaste potíže a uveďte konkrétní připomínky.