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));