Sobes.tech
Junior

Kuo skiriasi PUT ir POST užklausos?

sobes.tech AI

Atsakymas iš AI

PUT naudojamas kurti arba atnaujinti išteklį pagal nurodytą URI. Jis yra idempotentiškas, tai reiškia, kad keli vienodi užklausos PUT turėtų sukelti tą patį išteklio būseną:

POST naudojamas siųsti duomenis serveriui ir gali sukurti naują išteklių, atnaujinti esamą arba atlikti kitą operaciją. Jis nėra idempotentiškas, ir keli vienodi POST užklausos gali sukelti kelių išteklių sukūrimą arba kelių operacijų atlikimą.

Pagrindiniai skirtumai:

Savybė PUT POST
Naudojimas Kurti/atnaujinti išteklių pagal URI Siųsti duomenis, kurti/atnaujinti išteklius
Idempotentiškumas Taip Ne
URI Nurodo tikslinį išteklių Nurodo duomenų apdorojimo išteklių
Rezultatas Pakeisti/sukurti išteklių pagal URI Keisti serverio būseną

Pavyzdys naudojant PUT (kurti arba atnaujinti vartotoją su ID 1):

// Tarkime, turime vartotojo duomenų 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('Klaida:', error));

Pavyzdys naudojant POST (sukurti naują vartotoją):

// Tarkime, turime naujo vartotojo duomenų objektą
const newUser = {
  name: "Petras",
  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('Klaida:', error));