Sobes.tech
Junior

Jaka jest różnica między żądaniami PUT i POST?

sobes.tech AI

Odpowiedź od AI

PUT jest używany do tworzenia lub aktualizacji zasobu pod określonym URI. Jest to operacja idempotentna, co oznacza, że wielokrotne identyczne żądania PUT powinny prowadzić do tego samego stanu zasobu.

POST służy do wysyłania danych do serwera i może tworzyć nowy zasób, aktualizować istniejący lub wykonywać inną operację. Nie jest idempotentny, a wielokrotne identyczne żądania POST mogą prowadzić do tworzenia wielu zasobów lub wykonywania wielu operacji.

Główne różnice:

Cecha PUT POST
Użycie Tworzenie/aktualizacja pod URI Wysyłanie danych, tworzenie/aktualizacja
Idempotentność Tak Nie
URI Wskazuje docelowy zasób Wskazuje zasób do przetwarzania danych
Wynik Zastąpienie/tworzenie zasobu pod URI Zmiana stanu serwera

Przykład użycia PUT (tworzenie lub aktualizacja użytkownika z ID 1):

// Załóżmy, że mamy obiekt z danymi użytkownika
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('Błąd:', error));

Przykład użycia POST (tworzenie nowego użytkownika):

// Załóżmy, że mamy obiekt z danymi nowego użytkownika
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('Błąd:', error));