REST API nədir?
REST API-ni anlamaq üçün əvvəlcə REST anlayışını bilmək vacibdir. REST proqramlaşdırma dili və ya framework deyil. O, şəbəkə üzərindən işləyən sistemlərin necə strukturlaşdırıla biləcəyini müəyyən edən arxitektura üslubudur. REST yanaşmasında sistemdəki məlumatlar və obyektlər adətən resurslar kimi düşünülür.
Məsələn:
/users — istifadəçilər
/products — məhsullar
/orders — sifarişlər
Bu resurslar müəyyən ünvanlar vasitəsilə əldə edilir və onların üzərində müxtəlif əməliyyatlar həyata keçirilir.
REST API necə işləyir?
REST API əsasən request və response, yəni sorğu və cavab prinsipi ilə işləyir. Məsələn, istifadəçi məhsullar səhifəsini açır.
Frontend serverə belə bir sorğu göndərə bilər:
GET /products
Backend sorğunu qəbul edir, lazım olan məlumatı verilənlər bazasından əldə edir və cavabı Frontend-ə qaytarır.
Cavab çox vaxt JSON formatında ola bilər:
{
"id": 1,
"name": "Laptop",
"price": 1500
}
Frontend həmin məlumatı qəbul edir və istifadəçiyə uyğun interfeysdə göstərir.
REST API endpoint nədir?
Endpoint REST API daxilində konkret resursa və ya əməliyyata müraciət etmək üçün istifadə olunan ünvandır.
Məsələn:
/products
/users
/orders
Daha konkret resurs üçün isə belə bir endpoint istifadə oluna bilər:
/products/15
Burada 15 müəyyən məhsulun identifikatoru ola bilər.
Beləliklə endpoint serverdə hansı resursla işləmək istədiyimizi göstərir.
GET, POST, PUT, PATCH və DELETE nədir?
REST API-lərdə resurs üzərində hansı əməliyyatın aparılacağını bildirmək üçün HTTP metodlarından istifadə olunur.
GET — məlumat əldə etmək üçün istifadə olunur.
GET /products
Məhsulların siyahısını əldə edə bilər.
POST — yeni məlumat yaratmaq və ya serverdə müəyyən əməliyyat başlatmaq üçün istifadə olunur.
POST /products
Yeni məhsul yaradılması üçün istifadə edilə bilər.
PUT — hədəf resursun mövcud təqdimatını bütövlükdə əvəz etmək üçün istifadə olunur.
PATCH — resursun yalnız müəyyən hissələrinin dəyişdirilməsində istifadə olunur.
DELETE — resursu silmək üçün istifadə olunur.
Bu metodların rəsmi HTTP semantikaları müəyyən edilmişdir; məsələn GET məlumat əldə edir, PUT resursun təqdimatını əvəz edir, PATCH qismən dəyişiklik edir və DELETE resursu silir.
REST API və API arasında fərq nədir?
API daha geniş anlayışdır. API proqramların bir-biri ilə əlaqə qurmasına imkan verən interfeys və qaydalar toplusudur REST API isə API hazırlamaq üçün istifadə olunan konkret arxitektura yanaşmalarından biridir.
Yəni:
API → ümumi anlayışdır
REST API → API qurmaq üçün istifadə olunan yanaşmalardan biridir
Bütün REST API-lər API-dir, lakin bütün API-lər REST yanaşmasına əsaslanmır.
REST API və RESTful API eynidirmi?
“REST API” və “RESTful API” ifadələri praktik istifadədə çox vaxt eyni mənada işlədilir. RESTful API dedikdə REST arxitektura prinsiplərinə uyğun qurulmuş API nəzərdə tutulur. Məsələn, resursların aydın endpoint-lərlə təqdim edilməsi, sorğuların vəziyyətsiz işləməsi və uyğun HTTP semantikasından istifadə REST yanaşması ilə əlaqələndirilir.
Stateless prinsipi nədir?
REST-in mühüm xüsusiyyətlərindən biri client və server arasındakı əlaqənin stateless, yəni vəziyyətsiz olmasıdır. Bu o deməkdir ki, server hər yeni sorğunu əvvəlki sorğulara güvənmədən başa düşə bilməlidir. Sorğunun emalı üçün lazım olan məlumat həmin sorğuda təqdim edilməlidir. Bu yanaşma sistemlərin miqyaslandırılmasını və müxtəlif serverlər üzərində işləməsini asanlaşdıra bilər.
REST API-də JSON nədir?
REST API-lərdə məlumat mübadiləsində JSON çox geniş istifadə olunur. JSON — strukturlaşdırılmış məlumatı mətn formatında təqdim etmək üçün istifadə edilən formatdır.
Məsələn:
{
"name": "Aysel",
"email": "aysel@example.com"
}
Backend bu məlumatı API vasitəsilə Frontend-ə göndərə və ya Frontend eyni formatda Backend-ə məlumat ötürə bilər. REST yalnız JSON ilə məhdudlaşmır, lakin müasir veb tətbiqlərdə JSON çox yayılmış seçimdir.
HTTP status kodları nədir?
REST API serverin sorğunu necə emal etdiyini bildirmək üçün HTTP status kodlarından istifadə edə bilər.
Məsələn:
200 OK — sorğu uğurla yerinə yetirilib.
201 Created — yeni resurs yaradılıb.
204 No Content — əməliyyat uğurludur, lakin cavab gövdəsi yoxdur.
400 Bad Request — sorğuda problem var.
401 Unauthorized — autentifikasiya tələb olunur və ya təqdim edilən autentifikasiya etibarlı deyil.
403 Forbidden — server sorğunu anlayır, lakin girişə icazə vermir.
404 Not Found — tələb olunan resurs tapılmayıb.
500 Internal Server Error — server tərəfində xəta yaranıb.
Status kodları Frontend və Backend arasında baş verən prosesin nəticəsini anlamağı asanlaşdırır.
REST API verilənlər bazası ilə necə işləyir?
REST API özü verilənlər bazası deyil. Backend API vasitəsilə gələn sorğunu qəbul edir və lazım olduqda SQL, PostgreSQL, MySQL, MongoDB və digər verilənlər bazaları ilə işləyə bilər.
Məsələn:
- Frontend GET /products sorğusu göndərir.
- Backend sorğunu qəbul edir.
- Backend PostgreSQL bazasına SQL sorğusu göndərir.
- Verilənlər bazası məhsulları qaytarır.
- Backend nəticəni JSON formasına çevirir.
- REST API cavabı Frontend-ə göndərir.
Bu səbəbdən REST API anlayışı Backend proqramlaşdırma və verilənlər bazaları ilə sıx əlaqəlidir.
REST API hansı framework-lərlə hazırlanır?
REST API müxtəlif proqramlaşdırma dilləri və framework-lərlə hazırlana bilər.
Python ekosistemində:
Java ekosistemində:
JavaScript ekosistemində:
- Express.js
- NestJS
C# ekosistemində:
- ASP.NET Core
Framework-lər routing, request və response idarəetməsi, autentifikasiya, validation və verilənlər bazası inteqrasiyası kimi prosesləri daha strukturlaşdırılmış şəkildə qurmağa kömək edir.
REST API təhlükəsizliyi necə təmin olunur?
REST API yaradılarkən təhlükəsizlik xüsusi əhəmiyyət daşıyır. Praktikada HTTPS, autentifikasiya və avtorizasiya mexanizmləri, tokenlər, giriş hüquqları, input validation və rate limiting kimi üsullardan istifadə edilə bilər. Məsələn, istifadəçi şəxsi profil məlumatlarını əldə etmək istəyirsə, server əvvəlcə həmin istifadəçinin kimliyini yoxlaya bilər. JWT kimi token əsaslı autentifikasiya üsulları da veb API-lərdə geniş istifadə olunur.
REST API harada istifadə olunur?
REST API-lər müxtəlif sistemlər arasında məlumat mübadiləsi lazım olan bir çox sahədə istifadə edilir.
Məsələn:
- veb tətbiqlərdə;
- mobil tətbiqlərdə;
- elektron ticarət sistemlərində;
- ödəniş platformalarında;
- sosial şəbəkələrdə;
- xəritə xidmətlərində;
- süni intellekt tətbiqlərində;
- mikroservis arxitekturasında;
- şirkətlərin daxili sistemlərinin inteqrasiyasında.
Məsələn, mobil tətbiqin Backend-dən istifadəçi məlumatlarını əldə etməsi və ya onlayn mağazanın ödəniş sistemi ilə əlaqə qurması API vasitəsilə həyata keçirilə bilər.
REST API öyrənmək üçün nələri bilmək lazımdır?
REST API öyrənməyə başlayanlar üçün əvvəlcə API anlayışını başa düşmək faydalıdır.
Daha sonra aşağıdakı mövzular öyrənilə bilər:
- HTTP və HTTPS;
- request və response;
- endpoint;
- GET, POST, PUT, PATCH və DELETE;
- JSON;
- HTTP status kodları;
- autentifikasiya və avtorizasiya;
- SQL və verilənlər bazaları;
- Backend framework-ləri.
Bundan sonra Python və Django REST Framework, Java və Spring Boot və ya JavaScript və Express.js kimi texnologiyalar vasitəsilə praktiki REST API layihələri hazırlamaq mümkündür.
REST API niyə Backend Developer üçün vacibdir?
Backend Developer-in əsas vəzifələrindən biri tətbiqlərin server tərəfində işləyən məntiqini qurmaq və müxtəlif sistemlərin məlumatla işləməsini təmin etməkdir. Frontend tətbiqi, mobil tətbiq və ya başqa xidmət Backend ilə çox vaxt API vasitəsilə əlaqə qurur. Bu səbəbdən endpoint yaratmaq, HTTP metodları ilə işləmək, məlumatı JSON formatında göndərmək, verilənlər bazası ilə API arasında əlaqə qurmaq və API təhlükəsizliyini təmin etmək Backend proqramlaşdırmada vacib praktiki bacarıqlardandır.
Tez-tez verilən suallar
REST API proqramlaşdırma dilidirmi?
Xeyr. REST API proqramlaşdırma dili deyil. REST API müxtəlif proqramlaşdırma dilləri və framework-lərlə hazırlana bilər.
REST API və HTTP eyni şeydirmi?
Xeyr. HTTP veb üzərindən məlumat mübadiləsi üçün protokoldur. REST isə arxitektura üslubudur. Veb REST API-ləri adətən HTTP üzərində qurulur.
REST API və JSON eyni şeydirmi?
Xeyr. REST API proqramlar arasında əlaqənin necə təşkil edilə biləcəyinə aid yanaşmadır. JSON isə məlumatların təqdim və ötürülməsi üçün istifadə olunan formatdır.
REST API üçün SQL bilmək lazımdırmı?
Hər REST API mütləq SQL istifadə etmir. Lakin Backend tətbiqlərinin böyük hissəsi məlumat bazaları ilə işlədiyi üçün SQL bilmək praktik olaraq çox faydalıdır.
REST API Frontend üçün lazımdırmı?
Frontend Developer API yaratmaya bilər, lakin Backend-dən məlumat almaq və göndərmək üçün REST API-lərlə işləməyi bilməsi çox faydalıdır.
REST API-ni hansı proqramlaşdırma dili ilə yaratmaq olar?
Python, Java, JavaScript/TypeScript, C#, PHP və bir çox digər dillərlə REST API hazırlamaq mümkündür.
Əgər siz də API-nin nə olduğunu və digər proqramlaşdırma mövzularını öyrənmək istəyirsinizsə, Backend və ya Full-Stack kurslarımıza qoşulun!
https://jetacademy.az/az/tedris-saheleri/full-stack-proqramlasdirma-telimi
