Sobes.tech
Junior

Каква е разликата между PUT и POST заявки?

sobes.tech AI

Отговор от AI

PUT се използва за създаване или актуализиране на ресурс на посочения URI. Той е идемпотентен, което означава, че многократните еднакви заявки PUT трябва да доведат до същото състояние на ресурса.

POST се използва за изпращане на данни към сървъра и може да създаде нов ресурс, да актуализира съществуващ или да изпълни друга операция. Не е идемпотентен, и многократните еднакви заявки POST могат да доведат до създаване на няколко ресурса или изпълнение на няколко операции.

Основни разлики:

Характеристика PUT POST
Използване Създаване/актуализиране по URI Изпращане на данни, създаване/актуализиране
Идемпотентност Да Не
URI Посочва целевия ресурс Посочва ресурса за обработка на данните
Резултат Замяна/създаване на ресурс по URI Промяна на състоянието на сървъра

Пример за използване на PUT (създаване или актуализиране на потребител с ID 1):

// Предполагаме, че имаме обект с данни за потребителя
const userData = {
  name: "Иван",
  age: 30
};

fetch('/api/users/1', {
  method: 'PUT',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(userData)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Грешка:', error));

Пример за използване на POST (създаване на нов потребител):

// Предполагаме, че имаме обект с данни за нов потребител
const newUser = {
  name: "Петр",
  age: 25
};

fetch('/api/users', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(newUser)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Грешка:', error));