Sobes.tech
Middle+

Birxil interfeys qoidasi (Uniform Interface) haqida gapiring.

sobes.tech AI

AIdan javob

Uniform Interface Qoidasi REST ning oltita arxitektura cheklovidan biridir. U sistemning mijoz va server o'rtasidagi o'zaro ta'sir uchun yagona, standartlashtirilgan yondashuvni qo'llashni belgilaydi. Bu arxitekturani soddalashtiradi va ajratadi, ko'rinishni yaxshilaydi va mijoz va serverning mustaqil rivojlanishini osonlashtiradi.

Uniform Interface komponentlari:

  1. Resurslarni identifikatsiya qilish: Resurslar yagona tarzda identifikatsiya qilinishi kerak (odatda URI orqali). Bu standartlashtirilgan o'zaro ta'sir uchun asosdir. Misol uchun: /foydalanuvchilar/123, /mahsulotlar/ABC.
  2. Resurslarni ularning vakillari orqali boshqarish: Mijoz resursning vakilini oladi (masalan, JSON yoki XML formatida), bu resursni o'zgartirish yoki o'chirish uchun etarli ma'lumotlarni o'z ichiga oladi. Serverdagi resurs holatini o'zgartirish uchun o'zgartirilgan vakil yuboriladi.
  3. O'zini ta'riflovchi xabarlar: Har bir xabar (so'rov yoki javob) server holati yoki boshqa so'rovlar kontekstisiz to'liq tushunilishi uchun etarli ma'lumotlarni o'z ichiga olishi kerak. Bu metadatalarni o'z ichiga oladi: kontent turi, cache ma'lumotlari, boshqa resurslarga havolalar va boshqalar.
    HTTP/1.1 200 OK
    Content-Type: application/json
    Cache-Control: max-age=3600
    
    {
      "name": "Misol Foydalanuvchi",
      "links": [
        {
          "rel": "self",
          "href": "/foydalanuvchilar/123"
        }
      ]
    }
    
  4. Hipermedia - ilova holatining motoru (HATEOAS): Server tomonidan taqdim etilgan hipermedia havolalariga asoslangan holda, mijoz resurslar orasida dinamik ravishda o'tishi mumkin. Mijoz faqat kirish nuqtasini bilishi kifoya qiladi, barcha URI'larni oldindan bilishi shart emas. Server mijozni mavjud harakatlar va resurslar bo'yicha yo'naltiradi.
    {
      "orderId": "A123",
      "status": "jarayonida",
      "links": [
        {
          "rel": "bekor qilish",
          "href": "/buyurtmalar/A123/bekor",
          "method": "POST"
        },
        {
          "rel": "self",
          "href": "/buyurtmalar/A123"
        }
      ]
    }
    

Qattiq kodlangan yo'llar o'rniga, mijoz buyurtmani bekor qilish imkoniyatini rel: "bekor qilish" bilan havola mavjudligi va mazmuni orqali bilib oladi.

Yagona interfeys RESTful tizimlarning kengaytirilishi va rivojlanishi uchun juda muhimdir, chunki u komponentlar o'rtasidagi bog'liqlikni kamaytiradi.