ASP.NET Core'da REST

Tamamlandı

Bir web sayfasına göz attığınızda, web sunucusu HTML, CSS ve JavaScript kullanarak tarayıcınızla iletişim kurar. Örneğin, oturum açma formu göndererek veya satın al düğmesini seçerek sayfayla etkileşim kurarsanız, tarayıcı bilgileri web sunucusuna geri gönderir.

Benzer şekilde, web sunucuları web hizmetlerini kullanarak çok çeşitli istemcilerle (tarayıcılar, mobil cihazlar, diğer web sunucuları ve daha fazlası) iletişim kurabilir. API istemcileri HTTP üzerinden sunucuyla iletişim kurar ve JSON veya XML gibi bir veri biçimi kullanarak iki bilgi alışverişinde bulunur. API'ler genellikle bir web tarayıcısında kullanıcı arabirimi mantığının çoğunu gerçekleştiren tek sayfalı uygulamalarda (SPA' lar) kullanılır. Web sunucusuyla iletişim öncelikle web API'leri aracılığıyla gerçekleşir.

REST: HTTP ile API'ler oluşturmaya yönelik yaygın bir desen

Temsili Durum Aktarımı (REST), web hizmetleri oluşturmaya yönelik bir mimari stildir. REST istekleri HTTP üzerinden yapılır. Web tarayıcılarının web sayfalarını almak ve sunuculara veri göndermek için kullandıkları HTTP fiillerinin aynısını kullanırlar. Fiiller şunlardır:

  • GET: Web hizmetinden veri alın.
  • POST: Web hizmetinde yeni bir veri öğesi oluşturun.
  • PUT: Web hizmetindeki bir veri öğesini güncelleştirin.
  • PATCH: Öğenin nasıl değiştirilmesi gerektiğine ilişkin bir dizi yönergeyi açıklayarak web hizmetindeki bir veri öğesini güncelleştirin. Bu modüldeki örnek uygulama bu fiili kullanmaz.
  • DELETE: Web hizmetindeki bir veri öğesini silin.

REST'e bağlı web hizmeti API'lerine RESTful API'leri adı verilir. Bunlar şu şekilde tanımlanır:

  • Temel URI.
  • , PATCHPOSTPUT, , veya DELETEgibi GETHTTP yöntemleri.
  • Veriler için JavaScript Nesne Gösterimi (JSON) veya XML gibi bir medya türü.

Bir API'nin genellikle birkaç farklı ama ilgili şey için hizmet sağlaması gerekir. Örneğin pizza API'miz pizzaları, müşterileri ve siparişleri yönetebilir. URI'leri kodumuzdaki mantıksal bölümlere eşlemek için yönlendirmeyi kullanırız; böylece isteklerin https://localhost:5000/pizzaPizzaController ve isteklerin adresine yönlendirilmesi sağlanır https://localhost:5000/orderOrderController.

ASP.NET Core'da API oluşturmanın avantajları

ASP.NET ile hem web sayfaları hem de hizmetler oluşturmak için aynı çerçeveyi ve desenleri kullanabilirsiniz. Model sınıflarını ve doğrulama mantığını yeniden kullanabilir ve hatta aynı projede hem web sayfalarını hem de hizmetleri yan yana sunabilirsiniz. Bu yaklaşımın avantajları vardır:

  • Basit serileştirme: ASP.NET modern web deneyimleri için tasarlanmıştır. Uç noktalar sınıflarınızı otomatik olarak seri hale getirerek JSON'un kullanıma uygun şekilde biçimlendirilmelerini sağlar. Özel yapılandırma gerekmez. Benzersiz gereksinimleri olan uç noktalar için serileştirmeyi özelleştirebilirsiniz.

  • Kimlik doğrulaması ve yetkilendirme: Güvenlik için API uç noktaları endüstri standardı JSON Web Belirteçleri (JWT) için yerleşik desteğe sahiptir. İlke tabanlı yetkilendirme, kodda güçlü erişim denetimi kuralları tanımlama esnekliği sağlar.

  • Kodunuzun yanı sıra yönlendirme: ASP.NET öznitelikleri kullanarak kodunuzla satır içi yollar ve fiiller tanımlamanızı sağlar. İstek yolu, sorgu dizesi ve istek gövdesindeki veriler otomatik olarak yöntem parametrelerine bağlanır.

  • VARSAYıLAN OLARAK HTTPS: HTTPS, modern, profesyonel web API'lerinin önemli bir parçasıdır. Gizlilik sağlamak ve API çağrılarınızın istemci ile sunucu arasında kesilmesini ve değiştirilmemesini sağlamaya yardımcı olmak için uçtan uca şifrelemeye dayanır.

    ASP.NET, kullanıma hazır HTTPS desteği sağlar. Otomatik olarak bir test sertifikası oluşturur ve yerel HTTPS'yi etkinleştirmek için kolayca içeri aktarır, böylece uygulamalarınızı yayımlamadan önce güvenli bir şekilde çalıştırabilir ve hatalarını ayıklayabilirsiniz.

.NET uygulamalarıyla kod ve bilgi paylaşma

.NET becerilerinizi ve ekosisteminizi kullanarak web API'nizden mobil, web, masaüstü ve hizmetler gibi .NET ile oluşturulmuş diğer uygulamalarla mantık paylaşabilirsiniz.

.NET HTTP REPL kullanarak web API'lerini test etme

Geleneksel bir web sitesi geliştirirken, çalışmanızı genellikle bir web tarayıcısında görüntüleyip test edersiniz. Web API'leri HTML yerine verileri kabul eder ve döndürür, bu nedenle web tarayıcısı en iyi web API'si test aracı değildir.

Web API'lerini keşfetmenin ve bunlarla etkileşim kurmanın en kolay seçeneklerden biri .NET HTTP REPL'dir. REPL, okuma-değerlendirme-yazdırma döngüsünün kısaltmasıdır. Etkileşimli komut satırı ortamları oluşturmanın basit ve popüler bir yoludur. Sonraki ünitede basit bir web API'sini oluşturacak ve ardından .NET HTTP REPL kullanarak bu api ile etkileşim kuracaksınız.

Bilgilerinizi kontrol edin

1.

Aşağıdaki kullanım örneklerinden hangisi ASP.NET Core kullanarak web API'sini derlemek için bir neden değildir ?