Junior
Mis vahe on PUT ja POST päringutel?
sobes.tech AI
Vastus AI-lt
PUT kasutatakse ressurssi loomise või uuendamise jaoks määratud URI järgi. See on idempotentne, mis tähendab, et mitu sama päringut PUT-iga peaksid viima sama ressurssi staatust:
POST kasutatakse andmete saatmiseks serverile ning võib luua uue ressursi, uuendada olemasolevat või teha muid toiminguid. See ei ole idempotentne ning mitu sama POST-päringut võivad põhjustada mitme ressursi loomise või mitme toimingu teostamise.
Peamised erinevused:
| Omadus | PUT | POST |
|---|---|---|
| Kasutamine | Ressursi loomine/uuendamine URI järgi | Andmete saatmine, ressursi loomine/uuendamine |
| Idempotentsus | Jah | Ei |
| URI | Näitab sihtressurssi | Näitab andmete töötlemise ressursi |
| Tulemus | Ressursi asendamine/loomine URI järgi | Serveri oleku muutmine |
Näide PUT kasutamisest (kasutaja loomine või uuendamine ID 1-ga):
// Oletame, et meil on kasutaja andmete objekt
const userData = {
name: "Ivan",
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('Viga:', error));
Näide POST kasutamisest (uue kasutaja loomine):
// Oletame, et meil on uue kasutaja andmete objekt
const newUser = {
name: "Pēteris",
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('Viga:', error));