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"
}