Sobes.tech
Junior

Aký je rozdiel medzi požiadavkami PUT a POST?

sobes.tech AI

Odpoveď od AI

PUT sa používa na vytvorenie alebo aktualizáciu zdroja na špecifikovanom URI. Je idempotentný, čo znamená, že opakovanie rovnakého požiadavku PUT by malo viesť k rovnakému stave zdroja.

POST sa používa na odoslanie dát na server a môže vytvoriť nový zdroj, aktualizovať existujúci alebo vykonať inú operáciu. Nie je idempotentný a opakovanie rovnakého POST môže viesť k vytvoreniu viacerých zdrojov alebo k vykonaniu viacerých operácií.

Hlavné rozdiely:

Vlastnosť PUT POST
Použitie Vytvoriť/aktualizovať na URI Odoslať dáta, vytvoriť/aktualizovať
Idempotentnosť Áno Nie
URI Určuje cieľový zdroj Určuje zdroj na spracovanie dát
Výsledok Nahradiť/vytvoriť zdroj na URI Zmeniť stav servera

Príklad použitia PUT (vytvorenie alebo aktualizácia používateľa s ID 1):

// Predpokladajme, že máme objekt s údajmi používateľa
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('Chyba:', error));

Príklad použitia POST (vytvorenie nového používateľa):

// Predpokladajme, že máme objekt s údajmi nového používateľa
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('Chyba:', error));