Dasturiy ta’minot ishlab chiqish · 2026-yil 14-oktabr · 2 daqiqa o‘qish
API metodlari: GET, POST va boshqa so‘rovlar oddiy tilda
Bu sahifa rus tilida: /blog/api-metody
Dastur API orqali murojaat qilganda, u manzildan tashqari metodni ham ko‘rsatadi. Manzil — qaysi ob’ekt bilan ishlayapmiz, metod — u bilan nima qilmoqchimiz. Bir xil manzil turli metodlar bilan butunlay boshqa natija beradi.
Asosiy metodlar
GET — ma’lumot olish
Ro‘yxat yoki bitta yozuvni o‘qish: mahsulotlar katalogi, buyurtma holati, mijoz profili. GET hech narsani o‘zgartirmasligi kerak. Parametrlar (filtr, saralash, sahifa) manzil qatoriga qo‘shiladi.
POST — yangi narsa yaratish yoki amal bajarish
Yangi buyurtma, yangi mijoz, to‘lovni boshlash, xabar yuborish. Ma’lumotlar so‘rov tanasida yuboriladi. POST ikki marta yuborilsa, odatda ikki marta bajariladi — ikkita buyurtma paydo bo‘ladi.
PUT — to‘liq almashtirish
Ob’ektni butunlay yangi versiya bilan almashtiradi. Agar biror maydon yuborilmasa, u bo‘shab qolishi mumkin. Shuning uchun PUT bilan ishlaganda ob’ektning barcha maydonlarini yuborish kerak.
PATCH — qisman o‘zgartirish
Faqat yuborilgan maydonlar yangilanadi: masalan, buyurtmada faqat manzil yoki faqat holat. Amalda PATCH PUT’dan ko‘ra ko‘proq ishlatiladi.
DELETE — o‘chirish
Ob’ektni o‘chiradi yoki bekor qiladi. Ko‘p tizimlarda haqiqiy o‘chirish o‘rniga «o‘chirilgan» belgisi qo‘yiladi, tarix saqlanib qolishi uchun.
Kam uchraydiganlari
- HEAD — GET kabi, lekin faqat sarlavhalarni qaytaradi. Fayl hajmi yoki mavjudligini tekshirish uchun.
- OPTIONS — server qaysi metodlarni qo‘llab-quvvatlashini so‘raydi. Brauzerlar boshqa domendagi API’ga murojaat qilishdan oldin avtomatik yuboradi.
Xavfsiz va idempotent metodlar
Bu ikki atama integratsiyalar ishonchliligi uchun muhim.
- Xavfsiz metod serverdagi ma’lumotni o‘zgartirmaydi: GET, HEAD, OPTIONS.
- Idempotent metodni bir necha marta takrorlash bir marta bajarish bilan bir xil natija beradi: GET, PUT, DELETE. Buyurtmani ikki marta o‘chirsangiz ham, u bir marta o‘chiriladi.
POST esa idempotent emas. Tarmoq uzilib, javob kelmasa, dastur «so‘rov bajarildimi yoki yo‘qmi» bilmaydi. Takrorlasa — ikki buyurtma yoki ikki to‘lov paydo bo‘lishi mumkin.
Takroriy so‘rovlardan himoya
Yaxshi API’larda bu muammo maxsus kalit bilan hal qilinadi: mijoz har bir amal uchun noyob identifikator yaratadi va so‘rov bilan birga yuboradi. Server shu identifikatorli so‘rovni avval qabul qilgan bo‘lsa, yangi yozuv yaratmaydi, oldingi natijani qaytaradi. To‘lovlar va buyurtmalar bilan ishlaydigan integratsiyalarda bu juda muhim.
Tipik xatolar
- GET orqali ma’lumotni o‘zgartirish: brauzer yoki qidiruv roboti havolani ochib, tasodifan amalni bajarib yuboradi
- Hamma narsani POST bilan qilish — API tushunarsiz bo‘ladi va kesh ishlamaydi
- PUT o‘rniga PATCH kutish: maydonlar tasodifan tozalanadi
- Maxfiy ma’lumotlarni GET parametrlarida yuborish — ular server jurnallariga va brauzer tarixiga tushadi
- Javob kodlarini e’tiborsiz qoldirish: xato bo‘lsa ham 200 qaytarish
Integratsiya buyurtma qilayotganda
Pudratchidan so‘rang: takroriy so‘rovlar qanday hal qilinadi, javob kelmasa dastur nima qiladi, xatolar qayerda qayd etiladi. Bu savollar metodlar nomlaridan ko‘ra ko‘proq narsani ko‘rsatadi.
Vazifani muhokama qilamiz
Ism va telefon raqamingizni qoldiring — qo‘ng‘iroq qilib, jarayon haqida so‘raymiz va nimadan boshlashni taklif qilamiz.
Loyihani muhokama qilish