c# Web

CRUD İşlemlerinde Swagger Kullanımı

Hazırlanan bir Restful yapıyı diğer programların ve platformların kullanabilmesi için belli başlı bazı özellikleri bilmesi gerekir. Url adresi, erişim metodu, bilgilerin hangi formatta ve hangi örüntüyle istendiği gibi birçok yöntemin programcıya verilmesi gerekir. Swagger paketi hazırlanan bir projede sözü ettiğimiz tüm bilgilerin hazırlanması için kullanılır. API projesine sağ tıklayıp Manage NuGet kısmına giriyoruz. NSwag.AspNetCore kütüphanesini projemize ekleyelim.

Kurulum bittikten sonra startup dosyasına gelelim. Aşağıdaki gibi değişiklikleri yapalım.

    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
            services.AddSingleton<IUserServices, UserManager>();
            services.AddSingleton<IUserRepository, UserRepository>();
            services.AddSwaggerDocument(); // burası
        }
 
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
 
            app.UseRouting();
            app.UseOpenApi(); // burası
            app.UseSwaggerUi3(); // burası
 
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }
    }

Projemizi çalıştırdığımızda ...../swagger diyerek arayüzü ekrana getirebiliriz. Burada gerekli bilgiler sunulmaktadır. Şimdi açıklamaları ekleyelim. Metodların başına gelelim ve /// yazalım. Bunu yazdığımızda bize bir açıklama kısmı gelecektir. Buraya açıklamaları yazabiliriz.

        /// <summary>

        /// Tüm kullanıcıları listeler
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public List<User> Get()
        {
            return _userService.GetUserAll();
        }
 
        /// <summary>
        /// Id değeri verilen kullanıcıyı listeler
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        [HttpGet("{id}")]
        public User Get(int id)
        {
            return _userService.GetUserById(id);
        }
 
        /// <summary>
        /// Yeni bir kullanıcı ekler
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        [HttpPost]
        public User Post([FromBody] User user)
        {
            return _userService.CreateUser(user);
        }
 
        /// <summary>
        /// Id değeri verilen kullanıcının bilgilerini günceller
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        [HttpPut]
        public User Put([FromBody] User user)
        {
            return _userService.UpdateUser(user);
        }
 
        /// <summary>
        /// Id değeri verilen kullanıcıyı siler
        /// </summary>
        /// <param name="id"></param>
        [HttpDelete("{id}")]
        public void Delete(int id)
        {
            _userService.DeleteUser(id);
        }

Bunun ekranda görüntülenebilmesi için Projenin properties kısmına gelelim. Burada Build sekmesinde XML documentation file sekmesini işaretleyelim. Artık mesajlar görüntülenecektir. Web sayfasındaki başlıkları ve diğer kısımları kendinize göre değiştirebilirsiniz. Şimdi onları yapalım.

Aşağıdaki kodları startup dosyasında düzenleyelim.

            services.AddSwaggerDocument(config =>

            {
                config.PostProcess = (doc =>
                {
                    doc.Info.Title = "All Users API";
                    doc.Info.Version = "1.0.15";
                    doc.Info.Contact = new NSwag.OpenApiContact()
                    {
                        Name = "Hasan Kızıltuğ",
                        Url = "https://www.maarificedid.com/",
                        Email = "hasankiziltug@hotmail.com"
                    };
                });
            }); // burası
 

İlgili Makaleler
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem İkinci Yazılı Çalışma Soruları
2020 TYT Matematik Ortakatlı Kuralıyla İlgili Sorunun Çözümünü c# Diliyle Web Form Sayfasında Kodlama
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama1
Core Mvc Projesinde Tuple Nesneleri Post Etme ve Yakalama İşlemleri
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem Birinci Yazılı Çalışma Soruları
Visual Studio 2022 Programında Asp.Net Web Application Şablonu Görünmüyor Hatasını Düzeltme
Seri Port Yardımıyla Arduino Devresine Bağlanıp Ledleri Asp.Net Web Uygulamasından Yakıp Söndürme
Sitenin Alexa Dünya Sıralamasını Kodlarla Öğrenme
Personele Ait Boy ve Kilo Bilgilerine Göre İdeal Kiloyu Bulan Uygulamayı Asp.Net İle Yapınız
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama4
Bir Otobüs Firmasına Ait Bilet Satış İşlemlerini Class(Sınıf) Tanımlayarak Yapan c# Form Uygulaması
Asp.Net Uygulamalarında DataList (Veri Listeleme) Kontrolü
RadioButton ile Cinsiyet Bilgisini Alan Asp.Net c# Uygulaması
Web Uygulamalarında SqLite Kullanımı
Asp.Net Uygulamalarında Modal PopUp Oluşturma
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama2
C# Uygulamasında Miladi Takvimi Hicri Takvime, Hicri Takvimi Miladi Takvime Dönüştürme
Asp.Net Uygulamasında Manual Olarak JSON Oluşturma
Asp.Net Uygulamalarında Sweet Alert Mesaj Kullanımı
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama3

Yorum Ekle
   
Kötü
İyi