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