Merhaba bir önce ki yazımda paylaştığım swagger kurulum, kimlik doğrulama vs. işlemlerine bu linküzerinden erişebilirsiniz. Bu yazı devamı niteliğinde olacak.
Doğrudan örnek projeyi incelemek için GitHub linki.
Gelelim asıl meselemize, dosya yükleme işlemlerinde Postman’a bağlı kalmadan swaggerdan from-data üzerinden nasıl dosya yükleme yapılacağından bahsedeceğim.
Bunun için öncelikle bir atrribute’e ihtiyacımız olacak. Bu attribute’ü kullanarak hangi serviste file upload yapacağımızı belirteceğiz ve istersek belirli parametereler yollayarak örneğin required olup olmadığını, açıklamasını belirtebileceğiz.
Projemizin Filters klasörüne SwaggerParameterAttribute.cs adında bir attribute sınıfı ekleyelim ve içeriğini aşağıda ki gibi ayarlayalım. Default alanları siz istediğiniz şekilde ayarlayabilirsiniz.
Artık attribute’tümüz hazır olduğuna göre, gelelim swagger ayarlamasına. Bu ayarlamayı yapabilmek için IOperationFilter interface’inden faydalanarak kendi OperationFilter kuralımızı oluşturacağız.
Oluşturacağımız bu class’ı ister swagger’ın halihazırda ki SwaggerConfig.cs’ine ekleyebilir, isterseniz de ayrı bir class oluşturarak yapabilirsiniz. Ben çok dallanıp budaklanmamak için direk içerisine dahil ettim.
OperationFilter’ın nasıl bir mantık ile çalıştığını kodun içerisine yorum satırı olarak ekledim.
Swagger’da oluşturduğumuz bu OperationFilter’i aktifleştirmemiz gerekiyor bunun içinde SwaggerConfig.cs’in içerisine aşağıdaki kodu ekliyoruz.
Artık oluşturduğumuz SwaggerParameterAttribut’ü kullanarak swagger’dan file upload işlemlerimizi gerçekleştirebiliriz. Bunun için örnek bir kullanımı aşağıda paylaşıyorum.
Kodumuzu çalıştırdığımızda görmemiz gereken görüntü aşağıda ki gibi olmalıdır. Eğer değilse bir şeyleri yanlış yapmış olabiliriz. Yazıyı ya da github üzerinde ki projeyi inceleyebilirsiniz.
Umarım ufakta olsa faydam dokunmuştur.
Top comments (0)