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 ServiceModel adlı 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 IRequestValidator arayüzü kullanılır. Bu arayüzün implementasyonu olan RequestValidator sı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.

  • Dev

  • Test

  • PreProd

  • Prod

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.config

  • ConnectionStrings.config

  • log4net.config

Bu ayar dosyaları /Config dizini altında bulunan ortam dizinlerinde bulunur.

  • Config/Local

  • Config/Dev

  • Config/Test

  • Config/PreProd

  • Config/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