ASPNET Web Api
Microsoft ASP.NET Web API
Tanım
ASP.NET Web Api projesi uygulama katmanını oluşturur ve Controllerları içerir.
Uygulama katmanı iş kararı vermez, görevi istemcilerin isteklerini iş katmanına iletmek ve iş katmanı sonuçlarını istemciye iletmektir.
ServiceRequest ve ServiceResult
Servis istekleri ve sonuçları için özel sınıflar oluşturulur.
Bu sınıflar için
ServiceModeladlı bir proje oluşturulur. Bu proje NuGet paketi ile istemcilere kullandırılır.
ServiceResult
Api uygulamalarında ServiceResult sınıfı iş katmanında kullanılan ServiceResult'tan daha detaylıdır ve hata kodu değeri de içerir. Aşağıdaki örnek temel ServiceResult sınıfı gösterilmiştir.
public class ServiceResult
{
public ResultCode ResultCode { get; set; }
public bool IsSuccess { get; set; }
public string Message { get; set; }
}Controller
Controllerlar ASP.NET MVC uygulamalarındakine benzer bir yapıyla oluşturulur.
İlk adımda isteğin geçerliliğini kontrol eder, istek geçersizse bu durumu belirten bir servis sonucu döndürür.
İstek geçerliyse iş katmanındaki ilgili metot çağrılır ve sonucu döndürülür.
Validasyon
Servis isteklerinin validasyonu bu katmanda yapılır ve genelde geçerlilik ihlalini belirten "Geçersiz istek" hatası döndürülür.
Validasyon için
IRequestValidatorarayüzü kullanılır. Bu arayüzün implementasyonu olanRequestValidatorsınıfı ilgili FluentValidator'ın kullanılmasını ve veri geçerlilik kontrolünün gerçekleştirilmesini sağlar.
HealthCheck
Api uygulamalarında servisin durumunu ve versiyonunu döndüren metotlar standart olarak oluşturulur. Bu metotların adresi aşağıdaki gibidir:
/health/version
Web Publish konfigürasyonları
Konfigürasyonların tanımlanması için bkz: Visual Studio Derleme ve Yayınlama Konfigürasyonu
Uygulama geliştirme ortamında çalışırken Local ortamını kullanır.
Uygulamanın publish işlemi belirlenen ortamlara göre ayrı ayrı yapılabilir.
DevTestPreProdProd
Konfigürasyona göre web.config dosyasının transform dosyası kullanılarak web.config dosyası oluşturulur. Local ortam için transform dosyası oluşturmak gerekmez. web.config dosyasının içerdiği değerler Local ortamı temsil edecek şekilde tanımlanır.
Konfigürasyona göre web.config dosyası aşağıdaki ayar dosyalarını, seçilen ortama göre kullanacak şekilde oluşturulur.
AppSettings.configConnectionStrings.configlog4net.config
Bu ayar dosyaları /Config dizini altında bulunan ortam dizinlerinde bulunur.
Config/LocalConfig/DevConfig/TestConfig/PreProdConfig/Prod
Bu nedenle bu dosyalarda yapılan değişikler / eklemeler / çıkarmalar tüm ortamlardaki kopyalarına yansıtılmalıdır.
Publish edilen ortama göre, Config dizini altındaki diğer ortam dizinleri ve dosyaları silinmelidir.
Last updated
Was this helpful?