Sobes.tech
Senior

რა განსხვავებაა მეთოდებს PUT და POST შორის? როგორ იქცევიან ისინი ერთსა და იმავე მოთხოვნის განმეორებით გადაგზავნისას? რა აკეთებს PATCH?

sobes.tech AI

პასუხი AI-სგან

HTTP PUT და POST მეთოდები სემანტიკასა და ქცევაში განსხვავდება:

  • PUT — ინდემპოტენტური მეთოდი, გამოიყენება მითითებულ URL-ზე რესურსის სრული განახლებისთვის. იგივე PUT მოთხოვნის გადაგზავნა შედეგს არ შეცვლის, რადგან რესურსი იგივე მონაცემებით დაიწერება.

  • POST — არინდემპოტენტური მეთოდი, ჩვეულებრივ გამოიყენება ახალი რესურსების შექმნის ან მოქმედებების შესასრულებლად. POST მოთხოვნის განმეორებითი გაგზავნა შეიძლება გამოიწვიოს დუბლიკატების ან ოპერაციის განმეორების გამო.

  • PATCH — გამოიყენება რესურსის ნაწილობრივი განახლებისთვის, მხოლოდ შეცვლილი ველების გაგზავნით. განსხვავებით PUT-ისგან, რომელიც მთელ რესურსს ცვლის, PATCH ახორციელებს ცვლილებებს არსებულ ობიექტზე.

მაგალითი:

PUT /users/123
{
  "name": "Иван",
  "age": 30
}

PATCH /users/123
{
  "age": 31
}

POST /users
{
  "name": "Иван",
  "age": 30
}

სწრაფი გამეორება PUT-ით იგივე მონაცემებით რესურსი არ შეიცვლება, POST-ის განმეორებითი გაგზავნა ახალი მომხმარებლის შექმნას გამოიწვევს, ხოლო PATCH-ის განმეორებითი გაგზავნა ასაკის განახლებას.