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-ի թեստավորումը ներառում է՝
- Ֆունկցիոնալության ստուգում (պատասխանների ճշգրտություն հարցումների վրա)
- սխալների մշակումը
- արտադրողականությունը
- անվտանգության ապահովումը
- փաստաթղթավորման համապատասխանությունը։