Sobes.tech
Senior

PUT və POST metodları arasındakı fərq nədir? Eyni sorğunu təkrar göndərdikdə necə davranırlar? PATCH nə edir?

sobes.tech Süni İntellekt

AI-dan cavab

HTTP PUT və POST metodları semantika və davranış baxımından fərqlidir:

  • PUT — idempotent metod, göstərilən URL-də resursun tam yenilənməsi üçün istifadə olunur. Eyni PUT sorğusunun yenidən göndərilməsi nəticəni dəyişməz, çünki resurs eyni məlumatlarla yenidən yazılır.

  • POST — idempotent olmayan metod, adətən yeni resursların yaradılması və ya əməliyyatların yerinə yetirilməsi üçün istifadə olunur. POST sorğusunun yenidən göndərilməsi duplikatlara və ya əməliyyatın təkrarlanmasına səbəb ola bilər.

  • PATCH — resursun qismən yenilənməsi üçün istifadə olunur, yalnız dəyişdirilmiş sahələr göndərilir. PUT-dan fərqli olaraq, bütün resursu əvəz etmir, mövcud obyektə dəyişikliklər tətbiq edir.

Nümunə:

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

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

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

Eyni məlumatlarla PUT-u yenidən göndərmək resursu dəyişməz, POST-u yenidən göndərmək yeni istifadəçi yaradacaq, və PATCH-i yenidən göndərmək yaşı yenidən güncəlləyəcək.