API nima? Ular qanday ishlaydi? API lar nima uchun kerak va ulardan qanday foydalanamiz? API larni qayerdan topa olamiz?

Assalomu alaykum!

Biz sizlar bilan API lar haqida gaplashar ekanmiz shuni bilib qo’ying,u juda katta mavzu.
Shunday bo’lsada sizlarga qo’ldan kelgancha soddaroq , tshunarliroq , qisqaroq qilib yetkazishga harakat qilaman!

Ushbu mavzu nechchi qismdan iborat?

1-Qism.API haqidagi asosiy tshunchalar,ular qanday ishlaydi.
2-Qism.API larni qayerdan topamiz .

1-Qism. API haqidagi asosiy tshunchalar.

API o’zi nima ?


API bu ingliz tilida “Application Programming Interface” degani tarjimasi esa “Ilova(dastur yoki web sayt)ning dasturiy interfeysi” deya tarjima qilinadi.Hozirgi kunda barcha internet yoki shaxsiy tarmoqda ishlovchi dasturlar,ilovlar yoki saytlarning ichidagi o’zgaruvchi ma’lumotlar API dan keladi.API bo’lsa dastur,ilova yoki sayt yuborgan so’rovga ko’ra Back-end dan javob oladi .O’zgarmas ma’lumotlar esa Front-end yordamida yozilib qoldiriladi.

API lar qanday ishlaydi?

Agar bilsangiz dasturlar ikki xil bo’ladi.1)Front-end ,2)Back-end.Aynan shu ikkala dasturlarni bir biriga ulash orqali 1 butun dasturni hosil qilinadi.Buning uchun API dan foydalaniladi.API Front-end va Back-end ning ulanishida hizmat qiladi.
Keling sizga soddaroq qo’pol ravishda tshuntisam.Biron bir restoranga bordingiz va biron bir joyga o’tirdingiz.
Afitsan kelib sizga oshxonada mavjud taomlar ro’yxatini taklif qiladi.Siz menu dagi taomlardan birini tanlab afitsantga oshxonadan nima olib kelish kerakligini aytasiz.Afitsan oshxonadan siz aytgan taomlarni olib keladi.

Buni API ga nima aloqasi bor?

Aloqasi bor.Sababi API ham huddi shunday ishlaydi.
Bu yerda xo’rranda ya’ni siz “User“foydalanuvchi sifatida restoranga “Front-end” ga tashrif buyurdingiz.Afitsant “API” sizga menuni taqdim qildi.Menu bu Front-end , ichidagi ma’lumotlar esa API dan kelgan.Siz “UserAPI ga murojat qildingiz.
API bo’lsa sizning murojatingizni oshxonaga “Back-end“ga olib bordi va oshxona”Back-end“dan sizning murojatlaringizga javob keladi.

Endi shuni aslida qanday ishlashini tshuntirsam.
Front-end Back-end ga API orqali request yuboradi.Request bu so’rov.
Back-end Front-end dan kelgan requestga asoslangan holda API orqali respons qaytaradi.
Respons bu javob.Qaytgan respons ni Front-end qabul qilib kerakli joyga chroyli qilib joylashtiradi.

Endi yanada chqurlashadigan bo’lsak.
API larga “Browser“dan HTTP protokol orqali so’rov yuborsa ham bo’ladi.Albatta API ning shakklanishiga ko’ra.
Bu degani API larga biron bir dasturlash tili yordamida so’rov yubrib bo’lmaydi degani emas.
Bu ikki usuldaham javoblar keladi ya’ni respons

API larga so’rov yubrilganda qanday shaklda javob qaytadi?
API request asosida qaytayotgan responsdagi ma’lumotlar asosan JSON shaklida qaytadi.

Misol uchun TelegramBotAPI dan qaytuvchi json ma’lumot:

Bu yerd mening botimga kim nima deb yozgani haqida API dan kelgan JSON ma’lumot.

Ma’lumotlar qanday kelishi haqida bilib oldingiz.
Ammo bu hammasi emas.API dan respons ning holat kodlari ham keladi.
Yuqorida keltirilgan JSON ma’lumotlari qachon qaytadi.
API Back-end bilan bog’lanishda no sozlikka uchramasa.
Shunday holatlar bo’ladiki API bilan Back-end o’rtasida nosozlik yoki noto’g’ri so’rov sabablariga ko’ra API dan keladigan HTTP respons dan holat kodlari keladi.
Ulardan bir qanchasini misol keltirishim va tarif berishim mumkun.

Bular asosiy uch ustun.
Ularning asoslari esa 200,400,500 kodlari.
Agarda HTTP response dan 200 kodi klesa bu degani barchasi yaxshi va ma’lumotlar JSON shaklida kelmoqda
HTTP response dan 400 kodi kelgan bo’lsa demak foydalanuvchi noto’g’ri so’rov yuborgan bo’ladi.
HTTP response dan 500 kodi kelsa demak muamo serverlarda bo’lmoqda .

Response larni o’rganib oldik endi bo’lsa Request lar haqida bilib olamiz.

Requestlarning 5 xil turi mavjud .Ular:”Post“,”Get“,”Put“,”Patch“,”Delete

Ularning har biri o’z vazifasiga ega.

Post requestning vazifasi yaratish misol uchun yangi akaunt ochishda API dan foydlansangiz post requesti orqali akaunt ochiladi albatta kerakli parametrlarni kiritgan holda.

Get request bu o’qish yoki olish vazifasini bajaradi.Biron bir bazadan ma’lumot olayotganda Get requestdan foydalaniladi.

Put request bu yangilash,qayta joylash uchun ishlatilinadi.

Patch request esa huddi Put ga o’hshaydi ammo qayta joylashning o’rniga o’zgartiriladi.

Delete esa o’z nomi bilan o’chirish vazifasini bajaradi.

Keyingi maqola qiziqarli API larni qayerdan topish mumkun ekanlgi haqida.

Keyinhi maqola uchun havola : API larni qayerdan topa olamiz?

Mavzuga oid maqolalar