Skip to content

FatmaSedaOZYURT/NetCoreTutorial

Repository files navigation

NetCoreTutorial

Temel bilgiler için tıklayınız.

Bogus ile CRUD işlemlerinin yapıldığı proje için tıklayın.

🚀 Swagger Entegrasyonu

1. Startup.cs sınıfında eklemeler yapılmalıdır.

Öncelikle ConfigureServices metoduna swagger dokümanını eklememiz gerekmekte. Bunun için; services.AddSwaggerDocument(); kodunu ekleriz.

2. Sonrasında Configure metoduna şu kod parçalarının eklenmesi gerekmekte:

//Eskiden useswagger dı ama useOpenApi kulllanılmalı. //app.UseSwagger(); app.UseOpenApi(); app.UseSwaggerUi3();

3. Metod açıklamalarının swaggerda görünmesi için;

Projenin properties bölümü açılır ve Buil sekmesinden XML documentation file alanı seçilir.

Böylece, swagger entegrasyonunu tamamlamış oluruz.

4. Swagger ı özelleştirmek (versiyon, yazan kişinin iletişim bilgileri vs.) için;

ConfigureServices metodundaki services.AddSwaggerDocument(); kod güncellenir.

services.AddSwaggerDocument(config => {
            config.PostProcess = (doc => {
                doc.Info.Title = "All Hotels Api";
                doc.Info.Version = "1.0.13";
                doc.Info.Contact = new NSwag.OpenApiContact()
                {
                    Name = "Fatma Seda Özyurt",
                    Url = "https://github.com/FatmaSedaOZYURT"
                };
            });
        });

Async X Sync

⭐ Async kod yazmak işlemin daha hızlı çalışacağını değil daha optimize çalışacağını belirtir. Yani thread'in, yaptığı işlem devam ederken bu işin bitmesini beklemez başka işlere bakar ve bu işlem bittiğinde boşta olan herhangi bir thread işlemin sonlanmasına yardımcı olabilir. Burada, kaynak kullanımını azaltmış oluyoruz. İşlemin hızlı sonuçlanmasını değil!

1. CPU Tabanlı(use sync)

Complex Calculates

Processing data in RAM

2. I/O Based (use async)

HTTP Requests

Database Operations

Kaynak: Kenan Yıldırım'ın derslerinden edindiğim bilgidir.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages