Isoqjanov Ilyos | Python
📡 Python loyihalarda API requestlarni bitta joyda boshqarish — professional yondashuv
Ko‘pchilik dasturchilar har bir endpoint uchun alohida requests.get() yoki requests.post() yozib yuradi. Bu kichik loyihalarda ishlashi mumkin, lekin loyihangiz kattalashganda:
• Token qo‘shish takrorlanadi
• Xatoliklar tarqoq bo‘lib ketadi
• Token refresh chalkashlashadi
• Debug qilish qiyinlashadi
Shuning uchun requestlarni bitta markaziy joyda konfiguratsiya qilish — eng to‘g‘ri yechim.
🔧 Nima qilish kerak?
Buning uchun ApiClient yoki BaseClient deb nomlangan markaziy sinf (client) yaratiladi.
U quyidagi vazifalarni bajaradi:
✅ 1. Tokenni avtomatik qo‘shadi
Headerga tokenni har safar qo‘lda yozish shart bo‘lmaydi.
✅ 2. Request xatoliklarni bitta joyda tutadi
Masalan:
• 4xx xatolarni
• 5xx server xatolarni
• Timeout yoki ConnectionError xatolarni
Hammasi yagona joyda ishlanadi.
✅ 3. Token refreshni avtomatik qiladi
Agar server 401 qaytarsa, client refresh qiladi, tokenni yangilaydi, requestni qayta yuboradi.
✅ 4. Response strukturasini standart qiladi
Har joyda response.json() deb parse qilish shart emas.
💡 Bu yondashuv nimani beradi?
• Har bir joyda token yozib yurmaymiz
• Refresh jarayoni avtomatlashtirilgan
• Kod o‘qilishi yaxshilanadi
• Kengaytirish osonlashadi
• Debug qilish tezlashadi
• Bitta joyda o‘zgarish — butun loyiha uchun o‘zgarish demak
• Serverdan qaytadigan ma'lum bir turdagi javoblarga qanday reaksiya qilishni markaziy belgilash mumkin
Bu — katta loyihalarda doim ishlatiladigan professional arxitektura.
Markazlashtirilgan request client kerak bo‘ladigan loyihalar:
• Telegram bot
• FastAPI / Django backend
• Mikroservislar
• Automation / scrap
• Desktop ilovalar
• ML backend integratsiya
Komentariyada oddiy misol keltirilgan👇
5 · 757 ·