"API" so'zini ko'p eshitgansiz, lekin u aslida nima? Nima uchun barcha dasturlarda API ishlatiladi? Bu maqolada REST API'ni eng oddiy misol bilan tushuntiramiz — texnik ta'riflardan oldin, odamcha gapdan boshlaymiz.
API — ofitsiant misoli
Tasavvur qiling: siz restoranda o'tiribsiz. Oshpaz — bu server (ma'lumotlar bazasi). Siz — bu foydalanuvchi (brauzer yoki mobil ilova). Ofitsiant — bu API.
Siz menyu orqali buyurtma berasiz. Ofitsiant oshpazga yetkazadi, tayyor ovqatni olib keladi. Siz oshpaz bilan to'g'ridan-to'g'ri muloqot qilmaysiz — bu API'ning rolini tushuntiradi.
REST API — bu ofitsiant bilan gaplashish qoidalari. Masalan: "bitta pizza" deb emas, balki aniq tartibda buyurtma berishingiz kerak.
HTTP metodlari — nima qilmoqchi ekanligingizni aytish
GET /users → Barcha foydalanuvchilarni olish
GET /users/5 → 5-foydalanuvchini olish
POST /users → Yangi foydalanuvchi yaratish
PUT /users/5 → 5-foydalanuvchini to'liq yangilash
PATCH /users/5 → 5-foydalanuvchining bir qismini yangilash
DELETE /users/5 → 5-foydalanuvchini o'chirish
Amalda ko'rish: ochiq API bilan ishlash
Hech narsa o'rnatmasdan, brauzerda shu manzilni oching:
https://jsonplaceholder.typicode.com/users/1
Quyidagi javobni ko'rasiz:
{
"id": 1,
"name": "Leanne Graham",
"username": "Bret",
"email": "Sincere@april.biz",
"phone": "1-770-736-0971",
"website": "hildegard.org"
}
Bu JSON format — REST API'lar ma'lumotni shu ko'rinishda qaytaradi.
Python bilan API so'rovi
import requests
# GET so'rovi — foydalanuvchilar ro'yxatini olish
javob = requests.get("https://jsonplaceholder.typicode.com/users")
# Status kodi — 200 muvaffaqiyat, 404 topilmadi, 500 server xatosi
print(f"Status: {javob.status_code}")
# JSON ma'lumotni Python list ga o'girish
foydalanuvchilar = javob.json()
for user in foydalanuvchilar[:3]: # faqat birinchi 3 ta
print(f"{user['id']}: {user['name']} — {user['email']}")
POST so'rovi — yangi ma'lumot yuborish
import requests
import json
yangi_post = {
"title": "Mening birinchi postim",
"body": "Bu post matni",
"userId": 1
}
javob = requests.post(
"https://jsonplaceholder.typicode.com/posts",
json=yangi_post
)
print(javob.status_code) # 201 — yaratildi
print(javob.json())
Status kodlar — server nima demoqda
| Kod | Ma'nosi |
|---|---|
| 200 | OK — muvaffaqiyatli |
| 201 | Created — yangi yaratildi |
| 400 | Bad Request — so'rov noto'g'ri |
| 401 | Unauthorized — kirish talab qilinadi |
| 403 | Forbidden — ruxsat yo'q |
| 404 | Not Found — topilmadi |
| 500 | Server Error — server xatosi |
Maslahat: API bilan ishlashni o'rganishda jsonplaceholder.typicode.com saytidan foydalaning — u haqiqiy server kabi javob beradi, lekin hech narsa saqlanmaydi. Sinab ko'rish uchun ideal.
+0
+0
+0
+1
+0
+0
+0