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 მეთოდებს რესურსებზე ოპერაციების შეს executing:
- GET: რესურსის ან რესურსების კოლექციის მიღება.
- POST: ახალი რესურსის შექმნა.
- PUT: არსებული რესურსის სრული განახლება.
- PATCH: არსებული რესურსის ნაწილობრივი განახლება.
- DELETE: რესურსის წაშლა.
მაგალითი JSON წარმოდგენის რესურსის:
{
"id": 1, // იდენტიფიკატორი
"name": "Resource Name", // რესურსის სახელი
"description": "Detailed description of the resource." // რესურსის აღწერა
}
ტესტირება REST API-ს მოიცავს:
- ფუნქციონალურობის შემოწმებას (პასუხების სისწორე მოთხოვნებზე)
- შეცდომების დამუშავებას
- პროდუქტიულობას
- უსაფრთხოებას
- დოკუმენტაციის შესაბამისობას.