Junior
REST API nima?
sobes.tech AI
AIdan javob
REST API - bu taqsimlangan tizimlarni qurish uchun arxitektura uslubi. REST ning asosiy prinsiplari:
- Statelessness: Mijozdan serverga har bir so'rovda uni ishlash uchun zarur bo'lgan barcha ma'lumotlar bo'lishi kerak. Server so'rovlar orasida mijoz holatini saqlamaydi.
- Client-Server: Mijoz va server o'rtasida aniq vazifalar bo'linishi. Mijoz so'rov yuboradi, server uni ishlaydi.
- Cacheable: Server javoblarni mijoz yoki vositachilar tomonidan keshga olish mumkinligini ko'rsatishi kerak.
- Layered System: Mijoz to'g'ridan-to'g'ri yakuniy server bilan aloqada bo'lishi shart emas; u vositachilar (proksi, yuk balanslagichlar) orqali aloqada bo'lishi mumkin.
- Uniform Interface: Mijoz va server o'rtasida yagona va standartlashtirilgan o'zaro ta'sir usuli. Bu prinsip quyidagilarni o'z ichiga oladi:
- Resources identification: Resurslar (ma'lumotlar) URL orqali aniqlanadi.
- Manipulation of resources through representations: Mijoz resurslar bilan o'zaro aloqada bo'ladi, ularning vakilliklarini (masalan, JSON, XML) oladi va o'zgartirish uchun yangi vakilliklarni yuboradi.
- Self-descriptive messages: Har bir xabar uni qanday ishlashini tushunish uchun etarli ma'lumotlarni o'z ichiga oladi.
- HATEOAS (Hypertext As The Engine Of Application State): Resurslar bog'langan resurslarga va mavjud harakatlarga havolalarni (hiperlinklar) o'z ichiga olishi kerak.
REST API odatda resurslar ustida operatsiyalarni bajarish uchun standart HTTP metodlarini ishlatadi:
- GET: Resurs yoki resurslar kolleksiyasini olish.
- POST: Yangi resurs yaratish.
- PUT: Mavjud resursni to'liq yangilash.
- PATCH: Mavjud resursni qisman yangilash.
- DELETE: Resursni o'chirish.
Resursning JSON vakilligi misoli:
{
"id": 1, // Identifikator
"name": "Resource Name", // Resurs nomi
"description": "Detailed description of the resource." // Resurs tavsifi
}
REST API testlari quyidagilarni o'z ichiga oladi:
- Funktsionallik (so'rovlar uchun javoblarning to'g'riligi).
- Xatoliklarni boshqarish.
- Ishlash tezligi.
- Xavfsizlik.
- Hujjat bilan moslik.