• Yapay zekadan makale özeti

    • Bu video, bir eğitmen tarafından sunulan ve Metin adlı bir katılımcının da yer aldığı teknik bir eğitim içeriğidir. Eğitmen, ASP.NET Core kullanarak API geliştirme konusunda detaylı bilgi aktarmaktadır.
    • Video, RESTful hizmetler, API mimarisi ve yönlendirme konularıyla başlayıp, bir to-do list örneği üzerinden API geliştirme sürecini adım adım göstermektedir. Eğitmen, Entity Framework Core ile in-memory veritabanı kullanımı, model oluşturma, DbContext sınıfı yazma ve Startup.cs dosyasında servis yapılandırma gibi temel adımları anlatmaktadır. Ayrıca, HTTP eylemleri (GET, POST, PUT, DELETE) uygulamalı olarak gösterilmekte ve Postman gibi araçlar kullanılarak API'lerin test edilmesi anlatılmaktadır.
    • Videoda ayrıca, veritabanı entegrasyonu, in-memory veritabanından SQLite veritabanına geçiş, CRUD işlemlerinin nasıl yapılacağı ve API dökümantasyonunun önemi gibi konular ele alınmaktadır. Eğitmen, bir sonraki derste API'leri tüketmeye bakacaklarını ve CVT dersinde token ve rol tabanlı yetkilendirme gibi güvenlik konularını detaylı olarak ele alacaklarını belirtmektedir.
    00:09Dersin İkinci Bölümüne Giriş
    • Eğitmen, dersin ikinci bölümünü başlatacağını ve önceki bölümde REST hizmetleri, REST mimarisi, API'ler ve Postman gibi programlarla yönlendirme konularını ele aldıklarını belirtiyor.
    • Bu bölümde API'lerle oluşturacakları bir örnek üzerinde duracaklar ve API'leri tüketme işini Postman gibi programlarla yapacaklar.
    • Microsoft'un dökümanlarından alınan örnekleri kullanacaklar ve kaynakları paylaşacaklar.
    02:46Proje Oluşturma ve Model Tanımlama
    • Visual Studio'da "2020 Programlama 3 Ortak" klasörüne "To Do List API" adında bir proje oluşturuluyor.
    • Web API şablonu ile proje oluşturulduktan sonra, yapılacak işler için bir model (To Do Item) tanımlanıyor.
    • Model, ismi, tamamlanıp tamamlanmadığına dair boolean bir bilgi ve primary key içeren bir yapıya sahip.
    05:14HTTP Eylemleri ve Veritabanı Yönetimi
    • Dersin içinde HTTP eylemlerinin operasyonları (GET, POST, PUT, DELETE) kullanılacak ve yapılacak işler listesinde ekleyip çıkartıp silme işlemlerini bu eylemlerle yapacaklar.
    • Hafıza üzerinde veritabanı yönetim sistemi (InMemory) kullanılacak, ilk etapta gerçek bir veritabanına yazılmayacak.
    • API kontrolü oluşturulacak ve kod jenerator aracı ile APIController yazılacak.
    07:07DbContext Oluşturma ve Paket Yükleme
    • DbContext dosyası oluşturuluyor ve To Do Item'ların listesi yönetilecek.
    • Entity Framework Core ve InMemory paketleri yükleniyor.
    • DbContext sınıfı için yapıcı metod ekleniyor ve To Do Item'ların listesi için bir property tanımlanıyor.
    11:51Startup.cs Yapılandırma
    • Startup.cs dosyasında veritabanı servisi alınıyor.
    • Entity Framework'de kendi servis alma yöntemiyle DbContext servisi alınıyor.
    • DbContext için options parametresi tanımlanıyor.
    12:56In-Memory Veritabanı Oluşturma
    • In-memory database kullanarak veritabanı oluşturuluyor, bu tür veritabanı için connection string gerektirmez, sadece veritabanının adı yazılmalıdır.
    • Entity Framework eklenmesi gerekiyor ve in-memory veritabanı avantajı, veritabanı dosyalarıyla uğraşmadan hafızada bir veritabanı oluşturabilmektir.
    14:36Code Generator Kullanımı
    • Code generator aracı kullanılarak kontrol oluşturmak mümkündür, bu araç kurulu değilse "net tool install" komutuyla kurulabilir.
    • Proje için kullanılabilir generatorlar eklenmesi gereken bir paketle sağlanır ve bu paket "net package" komutuyla kurulur.
    • Code generator aracı kullanılarak kontrol oluşturulurken, kontrolün ismi, asenkron metotlar, API şeklinde olup olmayacağı, model ve data context gibi parametreler belirtilir.
    21:10Controller Oluşturma ve Test Etme
    • Code generator aracının çalışması için gerekli paketler kurulduktan sonra, to-do items controller oluşturuldu.
    • Controller içinde get, put, post ve delete metodları bulunuyor ve yapıcı metot bağımlılık enjeksiyon yoluyla veritabanı nesnesini alıyor.
    • Uygulama çalıştırıldığında, doğru URL ile erişim yapıldığında liste boş olarak döndürüyor çünkü henüz veri eklenmemiş.
    26:27Veri Ekleme İşlemi
    • Veri eklemek için HTTP post eylemi kullanılmalı, aynı endpoint farklı HTTP eylemleriyle farklı kontrolleri çağırıyor.
    • Post metodu için parametre olarak bir to-do item gerekli olacak.
    28:13API Endpoint ve POST İstekleri
    • Endpoint formatı, API'de hangi değerlerin girileceğini belirtir.
    • POST API kullanmak için API'nin bodysine bir totem (JSON formatında bir nesne) göndermek gerekiyor.
    • API, gönderilen totemi alıp context ekleyip veritabanına kaydeder ve kaydedilmiş elemanı sorgulayıp geri gönderir.
    29:31JSON Formatında Veri Gönderme
    • POST isteği yaparken, API'nin bodysine JSON formatında bir değer göndermek gerekiyor.
    • JSON formatında objeler süslü parantez içinde yazılır ve baş harfleri küçük olmak zorundadır.
    • Gönderilen veri, API tarafından veritabanına eklenir ve 201 Created kodu ile onaylanır.
    34:04GET İstekleri ve Parametreler
    • GET isteği ile veritabanındaki kayıtlara erişilebilir, önce boş bir dizi geldiyse şimdi eklenen elemanlar dizi içinde görüntülenir.
    • Parametreli GET isteği ile belirli bir ID'ye sahip elemana erişilebilir.
    • Bulunamayan bir ID için 404 Not Found hatası döndürülür.
    36:17API Dökümantasyonu
    • API'lerin nasıl kullanılacağına dair dökümantasyon önemlidir.
    • Dökümantasyon hem kendimizi hem de başkalarının API'yi nasıl kullanabileceğini ortaya koymak için gereklidır.
    • Parametreli GET istekleri ile tüm veriler alınabilir veya belirli bir ID'ye göre filtrelenebilir.
    38:42PUT İstek Testi
    • PUT isteği ile yapılacaklar öğesini değiştirmek için önce endpoint'e parametre vermek, sonra istek gövdesine değiştirilecek elemanı "to-do item" şeklinde vermek gerekiyor.
    • PUT isteğinde, değiştirilecek elemanın ailesi ile gönderilen elemanın ailesi birbirine uyuşmazsa 400 kötü istek hatası verilir.
    • Eğer istek başarılı olursa 204 No Content kodu döner ve geriye hiçbir değer döndürülmez.
    40:56PUT İstek Testi Uygulaması
    • PUT isteği test edilirken önce hata durumu test edilir: ID'ler uyuşmazsa 400 hatası alınır.
    • ID'ler uyuştuğunda 204 No Content kodu döner ve değişiklik başarılı olur.
    • Değişikliğin başarılı olduğunu kontrol etmek için tüm yapılacaklar öğeleri listelenir ve değişikliğin yapıldığı görülür.
    44:13DELETE İstek Testi
    • DELETE isteği için parametre endpoint'e verilir, istek gövdesine hiçbir şey verilmez.
    • DELETE isteği, belirtilen öğeyi bulamazsa 404 Not Found hatası verir, bulursa öğeyi siler ve 204 No Content kodu döner.
    • DELETE testi yapıldığında, silinen öğenin artık listede görünmemesi kontrol edilir.
    48:37Veritabanı Yapılandırması
    • Mevcut uygulama bellekte çalıştığı için uygulama durdurulduğunda tüm veriler kaybolur.
    • SQLite veritabanı kullanmak için önce "Microsoft.EntityFrameworkCore.Sqlite" paketi kurulmalıdır.
    • SQLite'nin avantajı sunucudan bağımsız olması ve sadece datasource belirtmekle yeterli olmasıdır.
    51:51Veritabanı Oluşturma ve İşlemler
    • Magre ışınlar üzerinde işlem yapabilmek için "create table" komutu kullanılarak veritabanı oluşturuluyor.
    • Magretion varsa, magre ışınlarla veritabanına eşitleme yapılır, yoksa veritabanı oluşturulur.
    • Postman üzerinden veritabanına kayıt ekleme, güncelleme ve silme işlemlerinin test edildiği gösteriliyor.
    56:16API'lerin Önemi
    • Oluşturulan API'ler, uygulamayı dış dünyaya açarak diğer uygulamalarla veya kendi uygulamamızın farklı arayüzleriyle (mobil, web) kaynakları paylaşmamızı sağlıyor.
    • Mobil programlamanın büyük kısmı backend'te, arka tarafta bir server'da tutulur, arayüz yazmak ise daha az iş yükü gerektirir.
    • Mobil ortamda kaynakları saklamak akıllı değil, kullanıcı ayarları gibi veriler serverda saklanır ve apilerle çekilir.
    59:22API Güvenliği
    • Tüm kaynakları herkesin kullanımına açmak istenmez, bu nedenle API'lerle birlikte özel değerler (jetonlar) kullanılır.
    • Jetonlar kullanıcıya verilir ve her istekte kullanıcıdan bu jetonun geri verilmesi istenir, jetonlar kendi kendilerine imzalayabilir.
    • Rol tabanlı yetkilendirme yapılabilir, örneğin sadece admin rollerine sahip kullanıcıların belirli API'leri kullanabilmesi sağlanabilir.
    1:01:40Dersin Kapanışı
    • Twitter, YouTube, Google gibi büyük firmaların API'leri de kullanılabilir ve uygulamanızı diğer büyük uygulamaların verileriyle zenginleştirebilirsiniz.
    • Ders boyunca uzun bir süre devam etmiş ve API'ler hakkında bilgi verilmiş.
    • Bir sonraki derste API'leri tüketme konusu ele alınacak.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor