.Net Core HttpClient PUT Kullanımı #11

Posted by

Merhaba arkadaşlar, bu yazımda sizlere .Net Core HttpClient PUT Kullanımı konusundan bahsedeceğim.

Listeleme, ekleme işlemlerini gerçekleştirmiştik. Bu yazı içerisinde de güncelleme işlemlerini gerçekleştireceğiz. API üzerinde yazdığımız PUT metodumuza bir istekte bulunacağız sonrasında da ürün ve kategori için güncelleme işlemini sağlayacağız.

Program.cs içerisinde metotlarımızı kullanacağız.

Öncelikle ürün güncellemek için kodumuzu yazacağız.

Servis için yine HttpClient nesnesini kullanarak API isteklerimizi gerçekleştireceğiz.

private static void UpdateProduct()
{
    using var httpClient = new HttpClient();

    httpClient.BaseAddress = new Uri("http://localhost:5000/");

    UpdateProductDto product = new UpdateProductDto()
    {
        Id = 1,
        Name = "Client Test Ürün Güncelleme",
        Price = 1500
    };

    var serializeProduct = JsonSerializer.Serialize(product);

    StringContent stringContent = new StringContent(serializeProduct, Encoding.UTF8, "application/json");

    var result = httpClient.PutAsync("api/Products/1", stringContent).Result;

    if (result.IsSuccessStatusCode)
        Console.WriteLine("Ürün güncelleme başarılı.");
    else
        Console.WriteLine($"Ürün güncelleme başarısız. Hata Kodu: {result.StatusCode}");
}

UpdateProduct adında bir metot oluşturduk ve içerisinde HttpClient nesnesinin tanımını yaptık. Ürün bilgileri için UpdateProductDto adında bir nesne oluşturduk ve ürün ile ilgili bilgileri burada doldurduk. Oluşturduğumuz bu nesneyi Json‘a çevirme işlemi yapmamız gerekiyor. Bunu yapmak için JsonSerializer ile Serialize metodunu kullanarak nesnemizi serialize ediyoruz. Serialize metodu oluşturduğumuz nesneyi bizim için Json string’e çevirdi ve sonrasında da StringContent nesnesini kullanarak oluşturduğumuz json stringi burada kullanıyoruz. Media Type olarak da “application/json” değerini belirtiyoruz. Bu işlemlerden sonra ise HttpClient nesnesindeki PutAsync metodumuzu çağırıp endpoint‘i ve oluşturduğumuz StringContent nesnesini parametre olarak veriyoruz. Result nesnemizde de başarılı kodlardan birisi dönüyor ise Ürün güncelleme başarılı mesajını, başarılı değilse de Ürün güncelleme başarısız mesajını ekrana yazdırma işlemini sağlıyoruz.

Benzer şekilde kategori güncellemesi için metodumuzu yazıyoruz.

private static void UpdateCategory()
{
    using var httpClient = new HttpClient();

    httpClient.BaseAddress = new Uri("http://localhost:5000/");

    Category product = new Category()
    {
        Id = 1,
        Name = "Client Test Kategori Güncelleme",
    };

    var serializeProduct = JsonSerializer.Serialize(product);

    StringContent stringContent = new StringContent(serializeProduct, Encoding.UTF8, "application/json");

    var result = httpClient.PutAsync("api/Categories/1", stringContent).Result;

    if (result.IsSuccessStatusCode)
        Console.WriteLine("Kategori güncelleme başarılı.");
    else
        Console.WriteLine($"Kategori güncelleme başarısız. Hata Kodu: {result.StatusCode}");
}

Güncelleme yapacak metotlarımızı yazdıktan sonra da main metodu içerisinde bu metotları çağırıyoruz.

static void Main(string[] args)
{
    UpdateProduct();

    UpdateCategory();

    Console.Read();
}

Bir sonraki yazımda yazdığımız DELETE metodunu çağırarak ürün ve kategori için silme işlemlerini gerçekleştireceğiz.

Görüşmek üzere 🙂

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir