Sobes.tech
Junior

Ի՞նչ է REST API-ն։

sobes.tech AI

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

REST API - դա բաշխված համակարգեր կառուցելու համար ճարտարապետական ոճ է։ REST-ի հիմնական սկզբունքները՝

  • Statelessness: Յուրաքանչյուր հաճախորդից սերվերին ուղարկված հարցում պետք է պարունակի բոլոր անհրաժեշտ տեղեկությունները։ Սերվերը չի պահում հաճախորդի վիճակը հարցումների միջև։
  • Client-Server: Հստակ բաժանում պարտականությունների հաճախորդի և սերվերի միջև։ Հաճախորդը ուղարկում է հարցումներ, սերվերը մշակում է դրանք։
  • Cacheable: Սերվերը պետք է նշի, արդյոք պատասխանները կարող են պահվել կեշում հաճախորդի կամ միջնորդի կողմից։
  • Layered System: Հաճախորդը պարտադիր չէ ուղղակիորեն շփվի վերջնական սերվերի հետ; նա կարող է շփվել միջնորդային շերտերի միջոցով (պրոքսի, բալանսավորիչների):
  • Uniform Interface: Միևնույն և ստանդարտացված եղանակը հաճախորդի և սերվերի միջև շփման համար։ Այս սկզբունքը ներառում է՝
    • Identification of Resources: ռեսուրսները (տվյալները) նույնականացվում են URL-ով։
    • Manipulation of Resources Through Representations: Հաճախորդը շփվում է ռեսուրսների հետ՝ ստանալով նրանց ներկայացումները (օրինակ՝ JSON, XML) և ուղարկելով նոր ներկայացումներ փոփոխության համար։
    • Self-descriptive Messages: Յուրաքանչյուր հաղորդագրություն պարունակում է բավականին տեղեկություններ՝ հասկանալու համար, թե ինչպես այն մշակել։
    • HATEOAS (Hypertext As The Engine Of Application State): ռեսուրսները պետք է պարունակեն հղումներ (հիպերակղզիներ) կապված ռեսուրսների և հասանելի գործողությունների վրա։

REST API-ն սովորաբար օգտագործում է ստանդարտ HTTP մեթոդներ՝ ռեսուրսների վրա գործողություններ կատարելու համար՝

  • GET: ռեսուրս կամ ռեսուրսների հավաքածու ստանալու համար։
  • POST: նոր ռեսուրս ստեղծելու համար։
  • PUT: առկա ռեսուրսի ամբողջական թարմացում։
  • PATCH: առկա ռեսուրսի մասնակի թարմացում։
  • DELETE: ռեսուրսի ջնջում։

Նմուշ JSON ներկայացում ռեսուրսի մասին՝

{
  "id": 1, // Հիշատակիչ
  "name": "Resource Name", // Ռեսուրսի անուն
  "description": "Detailed description of the resource." // Ռեսուրսի նկարագրություն
}

REST API-ի թեստավորումը ներառում է՝

  • Ֆունկցիոնալության ստուգում (պատասխանների ճշգրտություն հարցումների վրա)
  • սխալների մշակումը
  • արտադրողականությունը
  • անվտանգության ապահովումը
  • փաստաթղթավորման համապատասխանությունը։