რა განსხვავებაა მეთოდებს 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-ის განმეორებითი გაგზავნა ასაკის განახლებას.