ASP.NET Core MVC'de Web API'lerin Kullanımı ve Örnek Senaryolar

ASP.NET Core MVC'de Web API'lerin Kullanımı ve Örnek Senaryolar

Bu makalede, ASPNET Core MVC ile Web API oluşturma ve kullanma adımları detaylı bir şekilde ele alınmaktadır Web API, farklı platformlar arasında veri paylaşımını sağlayan RESTful servislerdir Bu makalede, ASPNET Core MVC ile birlikte bir Web API oluşturulması için gereken adımlar ayrıntılı bir şekilde açıklanmaktadır Ayrıca, örnek senaryolar ile Web API kullanımı da açıklanmaktadır Web API, uygulamaların farklı platformlar arasında veri paylaşımını kolaylaştırdığı için günümüzde oldukça yaygın bir şekilde kullanılıyor Başarılı bir Web API yapmak için, Controller sınıflarının doğru şekilde tasarlanması son derece önemlidir Bu makale, Web API'lerin kullanımıyla ilgilenen herkes için faydalı bir kaynak olacaktır

ASP.NET Core MVC'de Web API'lerin Kullanımı ve Örnek Senaryolar

Bu makalede, ASP.NET Core MVC ile birlikte Web API oluşturma ve kullanma adımları detaylı bir şekilde ele alınmaktadır. Web API, bir uygulamanın farklı platformlar arasında veri paylaşımını sağlayan RESTful servislerdir. Bu makalede, ASP.NET Core MVC ile birlikte bir Web API oluşturulması için gereken adımlar ayrıntılı bir şekilde açıklanmaktadır. Ayrıca, örnek senaryolar üzerinden Web API kullanımı da açıklanmaktadır.

ASP.NET Core MVC ile Web API oluşturmak için öncelikle proje tipinin belirlenmesi gerekmektedir. Ardından, Web API'nin yönlendirme, model bağlama, veri doğrulama gibi işlevleri yöneten Controller'ları oluşturulmalıdır. Controller sınıfları, HTTP isteklerine nasıl yanıt vereceğimizi belirleyen C# sınıflarıdır. Bu makalede, örnek senaryolar üzerinden Controller sınıfı ve yönlendirme işlemleri adım adım anlatılmaktadır.

Model bağlama ise, HTTP isteği ile gelen verilerin doğru bir şekilde Controller sınıfına aktarılmasını sağlar. Veri doğrulama ise, girilen verilerin doğruluğunu kontrol ederek hataları önler. Ayrıca, Web API'yi kullanmak için, HTTP protokolü üzerinden istek göndermek gerekmektedir. Farklı platformlar ve programlama dilleri ile Web API'ye nasıl istek gönderileceği de bu makalede açıklanmaktadır.

Bu makalede, ASP.NET Core MVC ile bir Web API oluşturulması için gereken tüm adımlar detaylı bir şekilde ele alınmıştır. Örnek senaryolar üzerinden Web API kullanımını da gösteren bu makale, Web API'lerin kullanımıyla ilgilenen herkes için faydalı bir kaynak olacaktır.


Web API Nedir?

Web API, uygulamaların farklı platformlar arasında veri paylaşımı yapabilmesini sağlayan bir arayüzdür. Çeşitli platformlar arasındaki veri paylaşımını standartlaştıran bu arayüz, HTTP protokolü üzerinden istek-yanıt yapısına sahip RESTful servislerden oluşur. Bu sayede, farklı uygulamalar arasındaki veri paylaşımı kolayca yapılarak verimlilik artırılır.

Web API, genellikle JSON ya da XML formatındaki verileri alıp işler ve kullanıcıya geri döndürür. Web API'lerin en önemli özelliklerinden biri, modüler bir yapıya sahip olmalarıdır. Bu sayede, API'nin her bir parçası ayrı ayrı test edilebilir ve geliştirilebilir. Ayrıca, bu yapı sayesinde uygulamaların ölçeklendirilebilmesi de kolaylaşır.

Web API'ler, farklı programlama dilleri ve platformlar arasındaki veri paylaşımını kolaylaştırdığı için günümüzde oldukça yaygın bir şekilde kullanılıyor. Ayriyeten, bu yapı RESTful servisler olması sayesinde yalın bir yapıda olurlar, bu sebepten dolayı hafif ve hızlı yanıtlar alındığından, uygulamalarda veri alışverişi için ideal bir yapıdır.


ASP.NET Core MVC ile Web API Oluşturma

ASP.NET Core MVC ile Web API oluşturmak oldukça kolaydır. Öncelikle, Visual Studio üzerinde yeni bir proje açılmalıdır. Açılan proje türü, "ASP.NET Core Web Uygulaması" olarak belirlenmeli ve proje adı verilmelidir. Sonrasında, açılan pencerede "Web API" seçeneği seçilerek, projemiz için bir Web API projesi oluşturulmalıdır.

Web API'nin yönlendirme, model bağlama, veri doğrulama gibi işlevleri yöneten Controller'ları oluşturulduktan sonra, API'miz hazır hale gelecektir. Controller sınıfları, API'nin nasıl çalışacağına dair önemli yönlendirmeleri bünyesinde barındırır. Bu sebeple, Controller'ların doğru şekilde oluşturulması son derece önemlidir.

Web API'nin yönlendirme işlemleri, Controller sınıflarının içerisinde bulunan "Route" özelliği sayesinde yapılmaktadır. Bu özellik sayesinde, gelen HTTP isteklerinin hangi Controller'a yönlendirileceği belirlenmektedir. Bu yönlendirme işlemleri, HTTP metodlarına göre yapılmaktadır. Örneğin, HTTP GET istekleri için "HttpGet" ya da HTTP POST istekleri için "HttpPost" kullanılmaktadır.

Model bağlama işlemleri ise, HTTP isteği ile birlikte gelen verilerin doğru şekilde Controller sınıfına aktarılmasını sağlar. Bu işlem, bir JSON nesnesi veya bir XML belgesi gibi veri türlerinin kullanılmasıyla gerçekleştirilmektedir. Veri doğrulama işlemleri ise, girilen verilerin doğruluğunu kontrol ederek hataları önler ve güvenli bir API kullanımını sağlar.

Bu işlevlerin hepsi, Controller sınıflarının içerisinde tanımlanır ve API'nin doğru şekilde çalışmasını sağlar. Başarılı bir Web API yapmak için, bu işlevlerin doğru şekilde kullanılması son derece önemlidir ve API'nin doğru şekilde tasarlanması gerekmektedir.


Controller Oluşturma ve Yönlendirme

Web API'nin HTTP isteklerine nasıl yanıt vereceğini belirleyen Controller'lar, C# sınıfları olarak oluşturulur. Controller sınıfları, Web API'nin yönlendirme, model bağlama, veri doğrulama gibi işlevlerini yönetir. Web API kullanımının en temel yapı taşlarından biri olan Controller'ların oluşturulması oldukça önemlidir.

Controller oluştururken, öncelikle bir Controller sınıfı oluşturulur. Bu Controller sınıfı, Web API'nin belirli bir HTTP isteğine nasıl yanıt vereceğini belirler. Ardından, ilgili HTTP isteği ile bu Controller sınıfı eşleştirilir. Bu işleme yönlendirme denir. Controller oluşturma ve yönlendirme işlemleri, örnek bir senaryo üzerinden adım adım anlatılacaktır.

Adım Açıklama
Adım 1 Gereksinimler doğrultusunda örnek bir Controller sınıfı oluşturulur.
Adım 2 Controller içerisinde HTTP isteklerine nasıl yanıt verileceği belirlenir.
Adım 3 Controller için uygun bir yönlendirme kuralları belirlenir ve bu yönlendirme kuralları RouteAttribute özelliği ile belirtilir.
Adım 4 HTTP isteği gönderildiğinde, isteğin yönlendirme kurallarına uygun olup olmadığı kontrol edilir.
Adım 5 İsteğin yönlendirme kurallarına uygun olduğu tespit edilirse, ilgili Controller sınıfı çalıştırılır ve isteğe yanıt verilir.

Örnek Senaryo: Gezinme Uygulaması

Örnek senaryo olarak, bir gezinme uygulaması tasarlanabilir. Bu uygulama, kullanıcının konum bilgilerine göre yakınlarındaki turistik yerleri listeler. Senaryoda kullanılacak olan Controller sınıfı, gelen konum bilgisine göre veritabanından sorgu yaparak gezilecek yerleri listeler.

Controller sınıfını oluşturmak için öncelikle proje içerisinde bir Controller dizini oluşturulmalıdır. Daha sonra, bu dizinde "PlacesController" adında bir C# sınıfı oluşturulabilir. PlacesController sınıfı, BaseController sınıfından miras almalıdır. BaseController içerisinde, API'ye yapılan isteklerin doğru bir şekilde işlenmesini sağlayan HTTP metotları yer almaktadır.

Daha sonra, PlacesController içerisinde "GetNearbyPlaces" adında bir metot oluşturulabilir. Bu metot, kullanıcının konum bilgilerine göre yakınlarındaki turistik yerleri listeler. Metot, "HttpGet" niteliğiyle işaretlenmelidir. Bu nitelik, bu metotun HTTP GET isteklerine yanıt verebileceğini belirtir.

Metot Adı Nitelik Açıklama
GetNearbyPlaces [HttpGet] Kullanıcının konum bilgilerine göre yakınlarındaki turistik yerleri listeler.

GetNearbyPlaces metodu, yanıt olarak JSON formatında bir dizi döndürür. Bu dizi, "Place" adında özel bir sınıfın listesi olarak tanımlanır. Place sınıfı, her bir turistik yerin bilgilerini tutan özelliklere sahiptir. Bu özellikler, yerin adı, adresi, koordinatları gibi bilgilerdir.

GetNearbyPlaces metodu, bir konum bilgisi parametresi alacaktır. Bu parametre, HTTP isteği ile gönderilecek olan konum bilgisidir. GetNearbyPlaces metodu, konum bilgisi parametresine göre veritabanından sorgu yapacaktır. Elde edilen sonuçlar, Place sınıfının özelliklerine göre doldurulacak ve sonuç olarak JSON formatında geri döndürülecektir.

Yukarıdaki adımların tamamlanmasının ardından, web API'yi kullanmak için HTTP GET isteği gönderilmelidir. Bu istek, API'nin yayınlandığı adresin sonuna "/api/places/GetNearbyPlaces" uzantısının eklenmesiyle oluşturulabilir. Ayrıca, istek parametrelerinde konum bilgisi de gönderilmelidir. Bu sayede, API'den dönen sonuçlar kullanılarak bir gezinme uygulaması geliştirilebilir.


Örnek Senaryo: Müşteri Yönetimi

Örnek Senaryo: Müşteri Yönetimi kapsamında, bir Web API oluşturularak müşteri bilgilerinin kaydedilmesi ve yönetilmesi amaçlanmaktadır. Bu senaryoda, Controller sınıfı ile oluşturulan API sayesinde, müşteri ekleme, silme ve güncelleme işlemleri gerçekleştirilebilecektir.

Bu senaryo için ilk olarak, Controller sınıfının oluşturulması gerekmektedir. Controller sınıfı, HTTP isteklerine yanıt verecek olan C# sınıfıdır. Bu sınıf içerisinde, müşteri bilgilerini kaydedecek ve bu bilgileri güncelleyecek metotlar yer alacaktır.

Bir sonraki adım olarak, müşteri ekleme işlemi gerçekleştirilecektir. Bunun için, HTTP Post metodu kullanılacaktır. İlgili Controller sınıfına gönderilen veriler, Model Binding yolu ile alınacak ve ilgili işlemler gerçekleştirilecektir. Eğer veriler doğru ise, yeni müşteri kaydedilecektir. Eğer veriler hatalı ya da eksik ise, hata mesajları ile birlikte bir yanıt döndürülecektir.

Müşteri silme işlemi ise, HTTP Delete metodu kullanılarak gerçekleştirilecektir. İlgili müşterinin bilgileri, ilgili ID numarasına göre sorgulanacak ve müşteri bilgileri silinecektir. Müşteri güncelleme işlemi ise, HTTP Put metodu kullanılarak yapılabilecektir. İlgili müşterinin bilgileri, ID numarasına göre güncellenecek ve ilgili yanıt döndürülecektir.

Yukarıdaki adımların tamamlanmasının ardından, müşteri yönetimi için oluşturulan Web API, farklı platformlar ve programlama dilleri ile kullanılabilecektir. Bu sayede, müşteri bilgileri, diğer uygulamalar ile entegre şekilde kullanılabilecektir.


Model Bağlama ve Veri Doğrulama

HTTP isteklerinde kullanıcının gönderdiği verilerin, Controller sınıfında kullanılabilmesi için Model bağlama işlemi yapılması gerekmektedir. Bu işlem, gelen verilerin doğru bir şekilde Controller sınıfında kullanılmasını sağlar. Model bağlama ile ilgili olarak ise, ASP.NET Core MVC çeşitli seçenekler sunmaktadır. Bu seçenekler şu şekildedir:

  • FromBody: HTTP isteği ile gelen JSON verisini modele bağlar.
  • FromForm: HTTP isteği ile gelen form verilerini modele bağlar.
  • FromQuery: HTTP isteği ile gelen parametreleri modele bağlar.

Veri doğrulama işlemi ise, girilen verilerin doğru olduğunu kontrol ederek hataları önlemektedir. Model üzerinde veri doğrulama için Entity Framework Core'un dahili doğrulama mekanizması kullanılabilir. Bu mekanizma, Model sınıfında veri doğrulama işlemi yapmamıza imkan sağlar. Şu örnek kodda olduğu gibi:

public class Customer{    public int Id { get; set; }    [Required]    public string Name { get; set; }    [Required]    public string Email { get; set; }}

Yukarıdaki Model sınıfında, Name ve Email alanları Required niteliği taşıdığı için girilen veriler doğru değilse, BadRequest (400) hatası dönecektir. Bu şekilde veri doğrulama işlemi tamamlanmış olur.


Web API Kullanımı

Web API, farklı platformlar arasında veri paylaşımı yapmak için kullanılan bir arayüzdür. Web API'ye istek göndermek için, HTTP protokolü kullanılmalıdır. Farklı platformlar ve programlama dilleri ile Web API'ye istek göndermek için kullanılacak yöntemler farklılıklar gösterebilir.

Örneğin, Postman gibi araçlar, Web API'yi test etmek için kullanılabilir. Postman, API testleri için popüler bir araçtır ve kullanımı oldukça kolaydır. Bir API isteği oluşturmak için sadece URL'yi, HTTP metodu ve parametreleri belirlemek yeterlidir.

HTTP Method İşlevi
GET API'den veri çekmek için kullanılır
POST API'ye veri eklemek için kullanılır
PUT API'de bulunan verileri güncellemek için kullanılır
DELETE API'den veri silmek için kullanılır

C# gibi programlama dilleri kullanarak ise HTTP istekleri oluşturulabilir. Örneğin, HttpClient sınıfı kullanılarak, Web API'ye GET, POST, PUT ve DELETE gibi istekler gönderilebilir. Ayrıca, "Newtonsoft.Json" kütüphanesi gibi ek kütüphaneler kullanılarak, istekler ile birlikte JSON verisi de gönderilebilir.

Web API'ye istek göndermek için, API'nin URL'si, HTTP metodu ve parametreler belirtilmelidir. Parametreler, URL veya HTTP isteği gövdesi üzerinden gönderilebilir. Parametrelerin nasıl gönderileceği, API'autorunun belirlediği kurallara uygun olmalıdır.


Postman ile Web API Test Etme

Web API'nizin işlevlerini test etmek için Postman gibi bir araç kullanabilirsiniz. Postman, API testlerinde popüler bir araçtır ve kullanımı oldukça kolaydır. Aşağıdaki adımları takip ederek, Postman ile Web API'nizi test edebilirsiniz:

  • Postman uygulamasını açın ve yeni bir istek penceresi oluşturun.
  • İstek türünü belirleyin (genellikle GET, POST, PUT veya DELETE istekleri kullanılır).
  • Web API'nize göndermek istediğiniz URL'yi girin.
  • İstek başlıklarını gerekliyse ayarlayın (örneğin, kimlik doğrulama bilgilerini eklemek isteyebilirsiniz).
  • İstek gövdesine gerekliyse verilerinizi ekleyin (örneğin, POST veya PUT isteği için).
  • İsteği gönderin ve yanıtı inceleyin.

Bu adımları takip ederek, Web API'nizin doğru çalıştığını ve beklenen sonuçları ürettiğini doğrulayabilirsiniz. Postman gibi test araçlarını kullanarak, farklı senaryolarda API'nizi test etmek için gereken tüm parametreleri ayarlayabilirsiniz. Bu sayede, Web API'nizin hatalarında kolayca tespit edebilir ve düzeltebilirsiniz.


C# ile Web API Kullanımı

Web API’lerin kullanımı günümüzde oldukça yaygın hale gelmiştir. Bu nedenle, birçok programlama dilinde Web API kullanımına ilişkin örnekler mevcuttur. Bu örneklerden biri de C# programlama dili kullanılarak Web API isteklerinin nasıl gönderileceği üzerinedir.

Örneğimizde, müşteri verilerini yöneten bir Web API kullanılacaktır. Bu API’ye istek göndererek yeni müşteriler eklemek, müşteri bilgilerini güncellemek veya mevcut müşterileri silmek mümkündür. İlk olarak, C# programlama dili kullanılarak bir HTTP isteği gönderilecektir. Bu istek GET, POST, PUT veya DELETE metodlarından birisiyle gönderilebilir.

HTTP Metodu İşlevi
GET API’den veri okuma
POST API’ye yeni veri ekleme
PUT API’deki mevcut verileri güncelleme
DELETE API’den veri silme

Örneğimizde, müşteri verileri yöneten bir API olduğu için, HTTP istekleri genellikle POST veya PUT metodları kullanılarak gönderilir. Örneğin, API’ye yeni bir müşteri eklemek için HTTP POST isteği aşağıdaki gibi olacaktır:

POST https://example.com/api/customers HTTP/1.1Content-Type: application/json{  "name": "John Doe",  "email": "johndoe@example.com",  "phone": "555-1234"}

Bu istek, API’ye yeni bir müşteri ekleyecektir. İsteğin alt kısmında gönderilecek JSON formatındaki veriler yer almaktadır. API’nin dönüşü de JSON formatında olacaktır.

C# programlama dili ile bu istek gönderilebilir. İlk olarak, bir HttpClient nesnesi oluşturarak API adresine istek gönderilir. Ardından, API’den dönen sonuçlar çözümlenir ve istenilen işlem gerçekleştirilir. Örneğin, aşağıdaki kod bloğu, API’ye yeni bir müşteri ekler:

using System.Net.Http;using System.Text.Json;var client = new HttpClient();var url = "https://example.com/api/customers";var data = new Dictionary<string, string>{    { "name", "John Doe" },    { "email", "johndoe@example.com" },    { "phone", "555-1234" }};var content = new FormUrlEncodedContent(data);var response = await client.PostAsync(url, content);var result = await response.Content.ReadAsStringAsync();var customer = JsonSerializer.Deserialize<Customer>(result);

Bu kod bloğu, API’ye yeni bir müşteri ekler ve API’den dönen müşteri bilgilerini Customer sınıfına deserialize eder. Bu işlem sonrasında, yeni müşteri ile ilgili işlemler gerçekleştirilebilir.

C# programlama dili ile Web API kullanımı oldukça kolaydır ve bu programlama dili ile birlikte birçok örnek proje mevcuttur. Bu örnek projeleri inceleyerek, Web API kullanımı hakkında daha fazla bilgi sahibi olunabilir.


Sonuç

Bu makalede, ASP.NET Core MVC ile birlikte oluşturulan Web API'lerin kullanımı hakkında kapsamlı bilgi verilmiştir. Makale, başlangıçtan uygulamaya kadar adım adım ilerleyerek, okuyucuların Web API'lerin temel işlevlerini anlamalarına yardımcı olmaktadır. Bununla birlikte, örnek senaryolar ve kod parçaları kullanarak, uygulamanın gerçek dünya senaryolarında nasıl kullanılabileceği de gösterilmektedir.

ASP.NET Core MVC'nin sunduğu imkanlar sayesinde, Web API oluşturma ve yönetme işlemleri oldukça kolaylaşmaktadır. Bu nedenle, özellikle yazılım geliştirme alanında çalışanların bu konuya hakim olmaları gerekmektedir. Ayrıca, diğer platformlar ve programlama dilleri ile Web API'lerin nasıl kullanılacağına dair de bilgi verilerek, okuyucuların uygulama geliştirme sürecinde farklı ihtiyaçlara yönelik Web API'ler oluşturmalarına olanak sağlanmaktadır.

  • ASP.NET Core MVC ile Web API oluşturma adımları özetle şöyledir:
    • Projenin tipinin belirlenmesi
    • Controller sınıflarının oluşturulması
    • Model bağlama ve veri doğrulama işlemlerinin yapılması

Web API kullanımı açısından da önemli bilgiler verilen makalede, HTTP protokolü üzerinden istek gönderme işlemleri ve örnek senaryolarla Web API kullanımı gösterilmiştir. Sonuç olarak, okuyucuların ASP.NET Core MVC ile Web API oluşturma ve kullanma konusunda daha bilgili hale gelmeleri hedeflenmiştir.