Junior
Որ API-ները կարելի է կոչել RESTful?
sobes.tech AI
Պատասխան AI-ից
RESTful API-ները համապատասխանում են REST ճարտարապետական ոճի սկզբունքներին:
- Հաճախորդ-սերվեր: Պատասխանատվության բաժանում հաճախորդի, որը խնդրում է ռեսուրսները, և սերվերի միջև, որը դրանք տրամադրում է:
- Stateless (Անհատականություն չունեցող): Յուրաքանչյուր հարցում հաճախորդից սերվերին պետք է պարունակի բոլոր անհրաժեշտ տեղեկությունները, որպեսզի այն կարողանա մշակել։ Սերվերը չի պահում հաճախորդի սեսիայի վիճակը:
- Կեշային (Cacheable): Սերվերը պետք է հստակ կամ ենթադրաբար նշի, արդյոք պատասխանները կարող են կեշավորվել հաճախորդի կամ միջնորդների կողմից:
- Շերտավորված համակարգ: Հաճախորդը չի կարող տարբերել ուղիղ սերվերին զանգահարելը և միջնորդային շերտերով (պրոքս, բեռ հավասարակշռողներ և այլն) զանգահարելը:
- Կոդ ըստ պահանջի (ընտրովի): Սերվերը կարող է ժամանակավոր ընդլայնել հաճախորդի գործառույթը փոխանցելով գործարկվող կոդ (օրինակ, JavaScript):
- Միասնական ինտերֆեյս: RESTful API-ի ամենակարևոր սկզբունքը։ Այն բաղկացած է չորս սահմանափակումներից՝
- Ռեսուրսների նույնականացում: Ռեսուրսները նույնականացվում են URL-ներով:
- Ռեսուրսների կառավարում ներկայացումներով: Հաճախորդը փոխազդում է ռեսուրսների հետ՝ ստանալով նրանց ներկայացումները (օրինակ՝ JSON, XML ձևաչափով):
- Ինքնաբաց հաղորդագրություններ: Յուրաքանչյուր հաղորդագրություն պարունակում է բավականին տեղեկություններ՝ ինչպես մշակել հաղորդագրությունը և ռեսուրսը:
- HATEOAS (Hypermedia as the Engine of Application State): Սերվերը պետք է իր պատասխաններում պարունակի հիպերհղումներ, որոնք թույլ կտան հաճախորդին բացահայտել հասանելի գործողությունները և անցնել ծրագրի վիճակների միջև։ Սա ամենաքիչ կատարվող սկզբունքն է:
RESTful API-ները օգտագործում են ստանդարտ HTTP մեթոդներ (GET, POST, PUT, DELETE, PATCH) ռեսուրսների վրա գործողությունների համար, որոնք նույնականացվում են URI-ներով:
Օրինակ՝ /api/users/123 հասցեով GET հարցումը ստանում է ID 123 օգտագործողի ներկայացումը։