API (Application Programming Interface) fərqli proqram təminatlarının bir-biri ilə məlumat mübadiləsi etməsini təmin edən körpüdür. Frontend istifadəçinin gördüyü ekran vasitəsilə sorğu göndərir, backend isə həmin sorğunu qəbul edib məlumat bazasından cavab hazırlayır və API vasitəsilə yenidən ekrana ötürür. Bu mexanizm olmasa, vizual interfeys ilə server arxasındakı məntiq bir-biri ilə əlaqə qura bilməz və müasir veb-saytlar işləməzdi. Diqqət edin ki, bu əlaqə düzgün qurulmadıqda tətbiqlərdə gecikmələr və məlumat itkiləri qaçılmaz olur.
API Konsepsiyası: Restoran Analogiyası ilə İzah
Proqramlaşdırmada API-ni başa düşməyin ən asan yolu onu restorandakı afisiant kimi təsəvvür etməkdir. Siz (frontend) menyudan sifariş seçirsiniz, afisiant (API) sifarişi mətbəxə (backend) çatdırır və hazır yeməyi sizə geri gətirir.
Bu prosesdə mətbəx sizin necə yemək bişirdiyinizi görmədiyiniz kimi, frontend də serverin daxili məntiqini birbaşa idarə etmir. Hər şey müəyyən qaydalar və sorğu strukturları əsasında baş verir.
Yoxlayın ki, API sorğuları düzgün formatda göndərilmədikdə server cavab verməyəcək. Bu səbəbdən interfeys ilə server arasındakı mübadilə protokollarına dəqiq riayət etmək tələb olunur.
Frontend və Backend Arasındakı Məlumat Axını
Frontend tərəfində istifadəçi hər hansı düyməni sıxanda və ya səhifəni yeniləyəndə arxa planda dərhal HTTP sorğusu yaradılır. Bu sorğu internet üzərindən serverdəki backend hissəsinə ötürülür.
Backend məlumat bazasına qoşularaq tələb olunan məlumatları tapır, onları təmizləyir və adətən JSON formatında geri göndərir. Frontend isə həmin xam məlumatı qəbul edib istifadəçinin rahat görə biləcəyi vizual cədvəllərə və ya siyahılara çevrir.
Bu dövriyyə saniyənin mində biri ərzində baş verir və istifadəçi tərəfindən qüsursuz bir təcrübə kimi qəbul edilir. Lakin bu sistemin arxasında dəqiq qurulmuş marşrutlaşdırma və təhlükəsizlik yoxlamaları dayanır.
İstifadəçi interfeysində hərəkət edildikdə HTTP sorğusu formalaşır.
Backend məlumat bazasından lazım olan qeydləri oxuyur.
Cavab JSON formatında geri qayıdaraq ekranda əks olunur.
HTTP Sorğu Metodları və Onların Rolu
Frontend və backend arasındakı ünsiyyət müəyyən əmrlər vasitəsilə həyata keçirilir. Ən çox istifadə olunan metodlar məlumatı oxumaq, yaratmaq, yeniləmək və ya silmək üçün tətbiq edilir.
Məlumatı əldə etmək üçün GET sorğusu işlədilir, yeni qeyd əlavə etmək üçün isə POST metodu seçilir. Hər bir metodun öz vəzifəsi var və onları qarışdırmaq sistemin işləmə məntiqini pozur.
Bu, çox vaxt unudulur, lakin təhlükəsizlik baxımından düzgün metod seçimi həlledici əhəmiyyət daşıyır. Məsələn, həssas məlumatları silərkən təsadüfi sorğuların qarşısını almaq üçün xüsusi icazə yoxlamaları aparılmalıdır.
GETsorğusu mövcud məlumatları oxumaq üçündür.POSTsorğusu sistemə yeni məlumat daxil edir.PUTvəDELETEmövcud qeydləri yeniləyir və ya silir.
JSON Formatının Əhəmiyyəti və Struktur
Fərqli proqramlaşdırma dilləri və platformalar bir-biri ilə danışarkən ümumi qəbul olunmuş dildən istifadə etməlidirlər. JSON (JavaScript Object Notation) məhz bu universal dili təmin edir.
Məlumat açar və dəyər cütlükləri şəklində ötürülür ki, bu da həm insanlar, həm də kompüterlər üçün oxumağı və emal etməyi çox asanlaşdırır. Əvvəlki dövrlərdə istifadə olunan ağır XML formatları ilə müqayisədə JSON daha yüngül və sürətlidir.
Backend məlumatı JSON şəklində göndərəndə frontend onu dərhal oxuyub obyektə çevirir. Bu sadəlik veb tətbiqlərinin performansını birə-beş artırır.
API Təhlükəsizliyi və Avtorizasiya Mexanizmləri
Hər kəsin istənilən məlumatı sərbəst oxuması və ya dəyişdirməsi təhlükəsizlik baxımından yolverilməzdir. Buna görə də API sorğuları zamanı tokenlər və ya açarlar vasitəsilə istifadəçi doğrulaması aparılır.
İstifadəçi sistemə daxil olduqda backend ona xüsusi icazə kodu verir. Növbəti hər bir API sorğusunda frontend həmin kodu əlavə edərək kimliyini təsdiqləyir.
Yoxlayın ki, bu doğrulaşdırma mexanizmi düzgün qurulmadıqda kənar şəxslər məlumat bazanıza icazəsiz müdaxilə edə bilərlər. Şifrələmə protokollarından istifadə etmək hər zaman vacibdir.
İstifadəçi daxil olduqdan sonra xüsusi təhlükəsizlik tokeni alır.
Hər sorğuda həmin token başlığa əlavə olunaraq göndərilir.
Backend səlahiyyəti yoxlayıb məlumatı ya təqdim edir, ya da rədd edir.
Xətaların İdarə Edilməsi və Cavab Kodları
API işləyərkən müxtəlif səbəblərdən xətalar baş verə bilər: internet bağlantısı kəsilə bilər, serverdə problem yarana bilər və ya istifadəçi səhv məlumat daxil edə bilər.
Belə hallarda HTTP status kodları köməyə gəlir. Məsələn, uğurlu cavablar 200 seriyası ilə, səhvlər isə 400 və ya 500 seriyası ilə işarələnir.
Frontend bu kodları oxuyaraq istifadəçiyə müvafiq bildiriş göstərir. Səhvləri düzgün idarə etmək tətbiqin istifadəçi təcrübəsini qat-qat yaxşılaşdırır.
API Dokumentasiyasının Önəmi
Frontend və backend proqramçılarının birgə işləməsi üçün hansı sorğunun hansı ünvana göndəriləcəyi əvvəlcədən dəqiq razılaşdırılmalıdır. Bu məqsədlə API dokumentasiyası hazırlanır.
Swagger və ya Postman kimi vasitələr vasitəsilə bütün sorğu strukturları, gözlənilən dəyərlər və cavab növləri qeyd olunur. Dokumentasiyası olmayan layihələrdə komanda üzvləri arasında ünsiyyət zəifləyir.
Təcrübə zamanı görünür ki, vaxtında yazılmış sənədləşmə gələcəkdə yarana biləcək vaxt itkilərinin qarşısını alır. Hər bir yeni funksiya əlavə olunduqda sənəd dərhal yenilənməlidir.
Karyerada API Biliklərinin Dəyəri
Müasir proqramlaşdırma dünyasında API bilmədən hər hansı tətbiq yaratmaq qeyri-mümkündür. İstər mobil tətbiq, istərsə də böyük veb-sayt hazırlayın, sistemlərin bir-biri ilə inteqrasiyası məhz bu texnologiya üzər qurulur.
Öz biliklərinizi artırmaq, real layihələrdə iştirak etmək və peşəkar inkişafınızı sürətləndirmək üçün smartedu.az-da proqramlaşdırma təlimləri elanlarına baxa bilərsiniz.