Sobes.tech
Middle+

Խոսեք միատարր ինտերֆեյսի (Uniform Interface) կանոնի մասին։

sobes.tech AI

Պատասխան AI-ից

Միասնական ինտերֆեյսի կանոնը՝ REST-ի վեց ճարտարապետական սահմանափակումներից մեկը։ Այն պահանջում է, որ համակարգը օգտագործի միավոր, ստանդարտացված մոտեցում հաճախորդի և սերվերի միջև փոխազդեցության համար։ Սա պարզեցնում և առանձնացնում է ճարտարապետությունը, բարելավում տեսանելիությունը և հեշտացնում հաճախորդի և սերվերի անկախ զարգացումը։

Միասնական ինտերֆեյսի բաղադրիչները՝

  1. Ռեսուրսների նույնականացում (Identification of resources): Ռեսուրսները պետք է լինեն յուրահատուկ նույնականացվող (հաճախ՝ URI-ի միջոցով): Սա ստանդարտացված փոխազդեցության հիմքն է։ Օրինակ՝ /users/123, /products/ABC։
  2. Ռեսուրսների կառավարում նրանց ներկայացումներով (Manipulation of resources through representations): Клиենտը ստանում է ռեսուրսի ներկայացումը (օրինակ՝ JSON կամ XML ձևաչափով), որը պարունակում է բավականին տեղեկատվություն ռեսուրսը փոփոխելու կամ ջնջելու համար։ Ռեսուրսի վիճակը սերվերում կարող է փոխվել՝ ուղարկելով փոփոխված ներկայացումը։
  3. Ինքնաբացատրելի հաղորդագրություններ (Self-descriptive messages): Յուրաքանչյուր հաղորդագրություն (խնդրանք կամ պատասխան) պետք է պարունակի բավականին տեղեկատվություն՝ ամբողջությամբ հասկանալու համար՝ առանց սերվերի կամ այլ հարցումների կոնտեքստի։ Սա ներառում է մետադատվածքներ՝ պարունակության տիպ, կեշավորման մասին տեղեկություններ, հղումներ այլ ռեսուրսների։
    HTTP/1.1 200 OK
    Content-Type: application/json
    Cache-Control: max-age=3600
    
    {
      "name": "Example User",
      "links": [
        {
          "rel": "self",
          "href": "/users/123"
        }
      ]
    }
    
  4. Հիպերմեդիա որպես ծրագրի վիճակի շարժիչ (HATEOAS): Հնարավորություն է տալիս հաճախորդին դինամիկ անցնել ռեսուրսների միջև՝ հիմնվելով սերվերից ստացված հիպերմեդիական հղումների վրա։ Հաճախորդը պետք է իմանա միայն մուտքի կետը, այլ ոչ թե բոլոր URI-ները։ Սերվերը ուղղորդում է հաճախորդին հասանելի գործողություններով և ռեսուրսներով։
    {
      "orderId": "A123",
      "status": "processing",
      "links": [
        {
          "rel": "cancel",
          "href": "/orders/A123/cancel",
          "method": "POST"
        },
        {
          "rel": "self",
          "href": "/orders/A123"
        }
      ]
    }
    
    Փոխարենը՝ կոդավորված ուղիները, հաճախորդը կարող է իմանալ պատվերի չեղարկման հնարավորության մասին՝ հղման rel: "cancel" առկայությամբ և պարունակությամբ։

Միասնական ինտերֆեյսը կարևոր է RESTful համակարգերի ընդլայնելիության և զարգացման համար, քանի որ այն նվազեցնում է բաղադրիչների կապակցվածությունը։