• Buradasın

    API Servislerine Gitme İşlemlerini Kolaylaştırmak İçin Extension Class Oluşturma Eğitimi

    youtube.com/watch?v=8xHLk7BgRSY

    Yapay zekadan makale özeti

    • Bu video, bir yazılım eğitim içeriğidir. Eğitmen, önceki videolarda kullanıcı listeleme, yetkilendirme ve oturum açma işlemleri gerçekleştirdiğini belirtiyor.
    • Videoda, API servislerine yapılan sık sık yapılan HTTP istemlerini kolaylaştırmak için bir extension class yazma süreci gösteriliyor. Eğitmen, HTTP client'a extension method ekleyerek, API'ye yapılan isteklerde servis response'u otomatik olarak alıp, hata durumunda custom bir API exception fırlatarak hata yönetimi yapmayı anlatıyor. Ayrıca, oluşturulan extension class'ı kullanarak kullanıcı listesi çekme işlemini gösteriyor ve hata durumunda pop-up mesajı gösterme işlemini de ekliyor.
    • Video sonunda, eğitmen extension metodları hakkında bilgi vererek, gelecek videolarda get ve post işlemlerini yapabilmek için daha fazla metod ekleyeceğini belirtiyor.
    00:01Önceki Videoların Özeti
    • Önceki videoda user list işlemleri, authorization ve authentication işlemleri gerçekleştirilmiş, login olan kullanıcılara ekranın ilgili bölümlerinin gösterilmesi sağlanmış ve logout butonu gösterilmiştir.
    • Bu videoda veritabanından user list verisi çekildikten sonra, kayıtların edit edilmesi, düzenlenmesi, update edilmesi, silinmesi, onay alınması ve veritabanından başka kontrol işlemleri için API'ye gidip gelme sayısı artacaktır.
    00:47Extension Class Oluşturma
    • HTTP client için bir extension class yazarak, servis response alma ve success olmaması durumunda hata fırlatılması gibi işlemler için kısaltma sağlanacaktır.
    • Utilities klasörünün altında "HttpClientExtension" adında bir class oluşturulacaktır.
    • Bu class'ta statik bir extension method yazılacak ve "GetServiceResponseAsync" adında bir metod eklenecektir.
    02:30Extension Method Özellikleri
    • Metoda URL ve hata fırlatılsın mı (success) parametreleri alınacaktır.
    • Servis response class'ı ile ilgili tüm işlemleri bu metodda halledeceğiz.
    • HTTP client ile HTTP request alınıp, get from gson ile dinamik tip dönüştürülerek servis response alınacaktır.
    04:51Hata Yönetimi
    • Eğer HTTP response success değilse ve hata fırlatılsın mı parametresi true ise, HTTP response message ile bir exception fırlatılacaktır.
    • Servis tarafındaki metotlar içerisinde servis response geri alınırken, hata durumunda mesaj kısmında hatanın detayları yazılacaktır.
    • Eğer şartlar sağlanıyorsa, HTTP response value dönecektir.
    06:19Custom Exception Oluşturma
    • API tarafında oluşan exception'lar için "Shared" klasörünün altında "CustomException" adında bir klasör açılacaktır.
    • "ApiException" adında bir class oluşturulacak ve Exception class'ından türetilecektir.
    • Bu class'a string message ve exception tipinde inner exception parametreleri alınacaktır.
    07:52Extension Method Kullanımı
    • HTTP client extension class'ı import edilerek, user list gibi metodlar artık "ClientGetServiceResponseAsync" şeklinde çağrılacaktır.
    • Metoda URL ve hata fırlatılsın mı (true) parametreleri verilecektir.
    • Hata oluştuğunda, APIException yakalanarak model manager ile pop-up mesajı gösterilecektir.
    11:08API Hatası Oluşturma ve Yakalama
    • Ana sayfaya ve user list'e dönülerek, servis tarafından veri alınamadığında bir exception fırlatılıyor.
    • "Throw new exception" ile "test exception" veya "an error occurred when getting data from api" mesajı ile bir hata fırlatılıyor.
    • User tarafında bu API exception'ı yakalanıp bir model çıkartılıyor.
    12:14Hata Yakalama ve Düzenleme
    • Uygulama çalıştırıldığında user liste geldiğinde "an error occurred and getting data from appi" hatası alınıyor.
    • Exception türü "api exception" olarak değiştiriliyor ve hata mesajı düzeltiliyor.
    • Uygulama tekrar çalıştırıldığında API tarafında hata oluştuğunda "api exception" yakalanmış oluyor.
    13:50Video Kapanışı
    • Videoda extension metodları anlatılmış ve sadece GET ve POST işlemlerini yapabilmek için birkaç metod daha ekleneceği belirtiliyor.
    • Eklenen metodlar GitHub reposuna pushlanacak ve detaylar oradan öğrenilebileceği söyleniyor.

    Yanıtı değerlendir

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