Sobes.tech
Junior — Middle

Կարող եք բացատրել REST ճարտարապետության հիմնական սկզբունքները և ինչպես են դրանք իրականացնում API-ի զարգացման ժամանակ?

sobes.tech AI

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

REST (Ներկայացնող Կարգավիճակի Տրանսֆեր) հուշարձանային ոճ է, որը օգտագործվում է վեբ ծառայություններ ստեղծելու համար, հիմնված մի շարք սկզբունքների վրա:

  • Հաճախորդ-սերվերային ճարտարապետություն: հաճախորդը և սերվերը բաժանված են, ինչը հեշտացնում է զարգացման և ընդլայնման գործընթացը:
  • Անհատականություն (stateless): յուրաքանչյուր հարցում հաճախորդից սերվերին պետք է պարունակի բոլոր անհրաժեշտ տեղեկությունները, սերվերը չի պահում վիճակները միջեւ հարցումների:
  • Էլեկտրոնային կեշավորում: պատասխանները կարող են կեշագրվել՝ բարելավելու կատարողականությունը:
  • Միայնակ ինտերֆեյս: օգտագործվում են ստանդարտ HTTP մեթոդներ (GET, POST, PUT, DELETE) ռեսուրսների հետ գործողությունների համար:
  • Ռեսուրսների նույնականացում URI-ով: յուրաքանչյուր ռեսուրս ունի յուրահատուկ հասցե:
  • Բազմաշերտ համակարգ: ճարտարապետությունը կարող է բաղկացած լինել մի քանի շերտերից, օրինակ՝ պրոքսի, գեյթվեյ:

REST API մշակելիս, այս սկզբունքները հետևյալ կերպ են իրականացվում.

  • Ռեսուրսները (օրինակ՝ օգտվողներ, ապրանքներ) ներկայացվում են URL-ներով, օրինակ՝ /users/123:
  • Օգտագործվում են HTTP մեթոդներ՝ GET՝ ստանալու համար, POST՝ ստեղծելու համար, PUT/PATCH՝ թարմացնելու համար, DELETE՝ ջնջելու համար:
  • Սերվերը չի պահում սեսիաներ, բոլոր տվյալները փոխանցվում են հարցումով:
  • Պատասխանները կարող են պարունակել գլխագրեր՝ կեշավորման համար:
  • Տվյալների ձևաչափերը սովորաբար JSON կամ XML են:

Օրինակ՝ օգտվող ստանալու հարցում:

GET /users/123 HTTP/1.1
Host: example.com
Accept: application/json

Պատասխան:

{
  "id": 123,
  "name": "Ivan Ivanov"
}