Focus mode
Bu bölümde, request ve response Data Transfer Object (DTO) kavramlarına göz atacağız. Request DTO, controller üzerindeki işlemleri oluşturan tüm istekleri temsil eder. Örneğin, burada bir müşteri verisi içeren bir istek alınabilir ve bunlar özelleştirilebilir. Bu özelleştirmeler, örneğin, tarih bilgisini istememe veya sadece belirli verileri isteme gibi durumları kapsayabilir.
Request DTO içinde converter kullanmak yerine, özel veri yapısını oluşturarak bu özelleştirmeleri yapabiliriz. Örneğin, Save işlemi için gelen verideki tarih bilgisini istememize gerek olmayabilir. Bu durumda, Save işlemi için ayrı bir veri yapısı olan "customer Save request" adında bir DTO oluşturabilir ve sadece gerekli verileri içerebilir.
Ayrıca, update işlemi için farklı bir request DTO oluşturmak da mümkündür. Örneğin, güncellenmek istenen verileri içeren "customer update request" adında bir DTO oluşturulabilir. Bu sayede, her işlem için ayrı ayrı veri yapıları oluşturarak istenen veri yapısını düzenlenebilir.
Converter kullanımının gerekmediği durumları da ele alınmaktadır. Örneğin, Save işlemi için tarih bilgisini istenmiyor, bu nedenle DTO içinde özel bir converter kullanılmasına gerek yok. Bu şekilde, istediğimiz veri yapılarını oluşturarak ve kullanarak API'yi daha esnek ve özelleştirilebilir hale getirilebilir.
Ayrıca, response için de benzer bir yaklaşımı kullanarak, istenen verileri içeren "customer response" adında bir DTO oluşturulabilir. Bu, API'nin kullanıcıya döndüğü verileri kontrol edilmesini sağlar. Örneğin, Get işlemi için sadece isim ve cinsiyet bilgilerini içeren bir response DTO oluşturulabilir.
Bu bölümde, veri transfer nesneleri (DTO'lar) oluşturarak ve bu DTO'ları kullanarak API'nin istek ve cevaplarını düzenlemenin nasıl yapılabileceğini açıklanmıştır. Bu yaklaşım, API'yi daha modüler ve bakımı daha kolay hale getirir, çünkü her istek ve cevap türü için ayrı DTO'lar kullanabilir ve istenen veri yapısını kontrol edilebilir.
Programs to Accelerate Your Progress in a Software Career
Join our 4-8 month intensive Patika+ bootcamps, start with the fundamentals and gain comprehensive knowledge to kickstart your software career!
You need to enroll in the course to be able to comment!