Alıştırma - Veri deposu ekleme
Pizza için Web API 'imizi uygulamaya başlamadan önce, üzerinde işlem gerçekleştirebilmemiz için bir veri deposuna sahip olmaları gerekir.
Envanterdeki bir pizza göstermek için model sınıfı gerekir. Model, bir pizza 'nin özelliklerini temsil eden özellikler içerir. Model, verileri Web API 'de geçirmek ve veri deposundaki pizza seçeneklerini sürdürmek için kullanılır. Bu birimde, veri deposu basit bir yerel bellek içi önbelleğe alma hizmeti olacaktır. gerçek dünyada bir uygulamada, Entity Framework Core gibi SQL Server gibi bir veritabanı kullanmayı göz önünde bulundurmanız gerekir.
Pizza modeli oluşturma
Bir klasör oluşturmak için aşağıdaki komutu çalıştırın
Models:mkdir ModelsModelsVisual Studio Code klasörü seçin ve adlı yeni bir dosya ekleyinPizza.cs.
Proje kökü artık boş bir dosya içeren bir Models Dizin içeriyor Pizza.cs . Dizinin adının Models olması bir kuraldır. Dizin adı web API'si tarafından kullanılan Model-View-Controller mimarisinden gelir.
Models/Pizza.cs Bir pizza tanımlamak için aşağıdaki kodu ekleyin. Yaptığınız değişiklikleri kaydedin.
namespace ContosoPizza.Models { public class Pizza { public int Id { get; set; } public string Name { get; set; } public bool IsGlutenFree { get; set; } } }İpucu
Aşağıdaki klavye kısayolları Cloud Shell düzenleyicisinin içinde yararlı olur.
Klavye kısayolu Komut Ctrl+V (Windows)
⌘+V (macOS)Yapıştır Ctrl+S (Windows)
⌘+S (macOS)Kaydet
Veri hizmeti Ekle
Bir klasör oluşturmak için aşağıdaki komutu çalıştırın
Services:mkdir ServicesVisual Studio Code klasörü seçin ve adlı yeni bir dosya ekleyin
PizzaService.cs.
Services/PizzaService.cs Bellek içi bir pizza veri hizmeti oluşturmak için aşağıdaki kodu ekleyin. Yaptığınız değişiklikleri kaydedin.
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; } } }Bu hizmet, Web API 'imizin tanıtım amacıyla kullanacağı varsayılan olarak iki Pizzas ile basit bir bellek içi veri önbelleğe alma hizmeti sağlar. Web API 'sini durdurup başlattığınızda, bellek içi veri önbelleği, oluşturucusunun varsayılan iki Pizzas olarak sıfırlanır
PizzaService.
Web API projesi oluşturma
Uygulamayı derlemek için aşağıdaki komutu çalıştırın:
dotnet build
Derleme hiç uyarı alınmadan başarılı olur. Derleme başarısız olursa, sorun giderme bilgileri için çıkışı inceleyin.
Pizza Modeli ve PizzaService sınıfı, sonraki ünitede denetleyici tarafından kullanılacaktır.
Yardıma mı ihtiyacınız var? Sorun giderme kılavuzumuza gözatın veya sorun bildirerek belirli bir konuda geri bildiriminizi paylaşın.