Junior
Qaysi API RESTful deb atalishi mumkin?
sobes.tech AI
AIdan javob
RESTful API'lar REST arxitektura uslubining tamoyillariga mos keladi:
- Mijoz-server: Mijoz, resurslarni so'rayotgan va server, ularni taqdim etayotgan vazifalar bo'yicha ajratish.
- Stateless (Holatsiz): Mijozdan serverga har bir so'rov, uni ishlash uchun zarur bo'lgan barcha ma'lumotlarni o'z ichiga olishi kerak. Server, mijozning sessiya holatini saqlamaydi.
- Cacheable (Keshga olinadigan): Server, javoblar mijoz yoki vositachilar tomonidan keshga olinishi mumkinligini aniq yoki shartli ravishda ko'rsatishi kerak.
- Qavatli tizim: Mijoz, to'g'ridan-to'g'ri server chaqiruvi bilan vositachilar (proksi, yuk balanslagichlar va boshqalar) orqali chaqiruv o'rtasidagi farqni sezmaydi.
- Kod so'roviga muvofiq (ixtiyoriy): Server, bajariladigan kodni (masalan, JavaScript) uzatish orqali mijozning funksionalligini vaqtincha kengaytirishi mumkin.
- Bir xil interfeys: RESTful API ning eng muhim tamoyili. To'rt cheklovdan iborat:
- Resurslarni identifikatsiya qilish: Resurslar URL orqali aniqlanadi.
- Resurslarni vakilliklar orqali boshqarish: Mijoz, resurslarning vakilliklarini olgan holda ular bilan muloqot qiladi (masalan, JSON, XML formatida).
- O'z-o'zini ta'riflovchi xabarlar: Har bir xabar, uni qanday ishlash va resurs haqida metama'lumotlarni o'z ichiga olgan yetarli ma'lumotlarni o'z ichiga oladi.
- HATEOAS (Hypermedia as the Engine of Application State): Server, javoblarida, mijozga mavjud harakatlarni kashf qilish va ilova holatlari o'rtasida o'tishni ta'minlaydigan hiperhavolalarni o'z ichiga olishi kerak. Bu eng kam bajariladigan tamoyil.
RESTful API'lar, URI bilan aniqlangan resurslar ustida operatsiyalar uchun standart HTTP metodlarini (GET, POST, PUT, DELETE, PATCH) ishlatadi.
Masalan, /api/users/123 ga GET so'rovi, ID 123 bo'lgan foydalanuvchining vakilligini oladi.