API nima va nega kerak

O’tgan darslarda server brauzerga sahifa qaytarishini va u ma’lumotni ma’lumotlar bazasida saqlashini ko’rdik. Endi boshqa savol tug’iladi: dastur boshqa dasturdan ma’lumot olishi kerak bo’lsa-chi? Aynan shu joyda API ishga tushadi.
Muammo: har narsani o’zi yozib bo’lmaydi
Tasavvur qiling, siz sayt yasayapsiz va unda bugungi ob-havo ko’rinishi kerak. Ob-havoni bilish uchun nima qilish kerak? Butun mamlakat bo’ylab meteostansiya qurib, harorat o’lchab chiqasizmi? Albatta yo’q.
Ob-havo bilan shug’ullanadigan tashkilotlar bor va ularda bu ma’lumot allaqachon mavjud. Sizga kerak bo’lgani — o’sha ma’lumotni so’rab olish usuli. Shu usul API deb ataladi.
Restoran qiyosi
API ni tushunishning eng qulay yo’li — restoran. Siz oshxonaga kirib, o’zingiz ovqat pishirmaysiz. Ofitsiantga buyurtma berasiz, u oshxonaga aytadi va tayyor taomni olib keladi.
Bu yerda:
- Siz — ma’lumot so’rayotgan dastur
- Oshxona — ma’lumot saqlanadigan server
- Ofitsiant — API
- Menyu — API hujjati: nima so’rash mumkinligi ro’yxati
Muhim jihat: siz oshxona ichida nima bo’layotganini bilmaysiz va bilishingiz ham shart emas. Qaysi pechda pishirilgani, oshpaz kimligi — sizga qorong’u. Sizga faqat natija kerak. API ham xuddi shunday ishlaydi: ichki tuzilishni yashiradi, faqat natijani beradi.
API amalda qanday ishlaydi
Web API’lar ko’pincha HTTP so’rov-javob mexanizmiga tayanadi — darsda ko’rganimiz bilan bir xil. API tushunchasi HTTPdan kengroq, lekin web dasturlashda eng ko’p HTTP orqali ishlaydigan API’larni uchratasiz. Bunday API ko’pincha HTML sahifa emas, dastur oson o’qiydigan tuzilgan ma’lumot qaytaradi.
Odatiy sahifa so’ralganda server HTML qaytaradi:
<h1>Toshkent</h1>
<p>Harorat: 32 daraja</p>
Bu brauzerda ko’rsatish uchun qulay, lekin dastur uchun noqulay: kerakli sonni teglar orasidan ajratib olish kerak bo’ladi. Shuning uchun API boshqacha javob beradi:
{
"shahar": "Toshkent",
"harorat": 32,
"holat": "ochiq"
}
Bu JSON formati. Dastur undan harorat qiymatini bir qadamda oladi.

Dastur API orqali HTTP so’rov yuboradi, server esa HTML sahifa o’rniga JSON ko’rinishidagi toza ma’lumotni qaytaradi.
REST — web API loyihalash uslubi
Web API’ni loyihalashning turli usullari bor. Keng tarqalganlaridan biri — REST. REST tayyor protokol yoki qat’iy kod shabloni emas; u resurslar va HTTP imkoniyatlaridan izchil foydalanishga yordam beradigan arxitektura uslubidir.
REST ning asosiy g’oyasi sodda: har bir manzil bitta narsani anglatadi, har bir HTTP metodi esa u bilan nima qilishni bildiradi.
| So’rov | Ma’nosi |
|---|---|
GET /mahsulotlar |
Barcha mahsulotlar ro’yxatini ber |
GET /mahsulotlar/5 |
5-raqamli mahsulotni ber |
POST /mahsulotlar |
Yangi mahsulot qo’sh |
PUT /mahsulotlar/5 |
5-raqamli mahsulotni to’liq almashtir |
PATCH /mahsulotlar/5 |
5-raqamli mahsulotning bir qismini o’zgartir |
DELETE /mahsulotlar/5 |
5-raqamli mahsulotni o’chir |
E’tibor bering: manzil resursni, metod esa niyatni ifodalaydi. GET, POST,
PUT, PATCH va DELETE metodlarini
HTTP darsida ko’rgan edik. Yaxshi API
faqat chiroyli URL emas: to’g’ri holat kodi, tushunarli xato javobi,
autentifikatsiya, versiyalash va hujjat ham muhim.

REST uslubida manzil resursni, GET, POST, PUT va DELETE metodlari esa bajariladigan amalni bildiradi.
API qayerda ishlatiladi
API bir necha ishni ko’rinmas holda bajaradi:
- To’lov — saytdagi “karta bilan to’lash” tugmasi bank API siga murojaat qiladi. Sayt karta ma’lumotini o’zi tekshirmaydi.
- Xarita — saytga joylashtirilgan xarita xarita xizmati API sidan keladi.
- Kirish — “Google orqali kirish” tugmasi Google API si orqali ishlaydi.
- O’z ilovangiz — mobil ilova va sayt bitta backend API sidan foydalanadi.
Oxirgi nuqta ayniqsa muhim. Bir xizmatning ham sayti, ham mobil ilovasi bo’lsa, ular uchun alohida backend yozilmaydi: bitta API yoziladi va ikkalasi ham undan foydalanadi.
API javobidagi xatolar
Tarmoqdagi har bir so’rov muvaffaqiyatli tugamaydi. API 400 bilan noto’g’ri
ma’lumot, 401 bilan autentifikatsiya kerakligini, 403 bilan ruxsat yo’qligini
yoki 500 bilan server xatosini bildirishi mumkin. Frontend faqat JSON ichidagi
qiymatni emas, HTTP holat kodini ham tekshirishi kerak.
Qisqacha xulosa
- API — bir dastur boshqa dasturga imkoniyatlarini taqdim etish usuli.
- U ichki tuzilishni yashiradi, faqat natijani beradi — restorandagi ofitsiant kabi.
- Web API odatda HTTP orqali ishlaydi va ko’pincha JSON qaytaradi.
- REST — resurs, metod va HTTP semantikasiga tayanuvchi arxitektura uslubi.
- PUT resursni to’liq, PATCH esa qisman o’zgartirish niyatini bildiradi.
- To’lov, xarita, kirish va mobil ilovalar API ustida qurilgan.
- Maxfiy API kaliti frontend kodiga yozilmaydi; API xatolari va holat kodlari alohida qayta ishlanadi.
Keyingi darsda REST, GraphQL va WebSocket — dasturlar o’rtasidagi aloqa uchun turli yondashuvlarni solishtiramiz.