Junior — Middle
Paaiškinkite HTTP PUT ir PATCH metodų skirtumus atnaujinant išteklius.
sobes.tech AI
Atsakymas iš AI
Pagrindiniai skirtumai tarp HTTP PUT ir PATCH metodų atnaujinant išteklius:
- PUT — naudojamas visiškam ištekliaus atnaujinimui. Klientas siunčia visą ištekliaus reprezentaciją, o serveris pakeičia esamą išteklių nauju.
- PATCH — naudojamas daliniam ištekliaus atnaujinimui. Klientas siunčia tik tuos laukus, kurie turi būti pakeisti, o serveris atnaujina tik juos, palikdamas kitus nepakitusius.
Pavyzdys:
Jei turite naudotojo objektą su laukais name ir email:
- Su PUT užklausa turite siųsti abu laukus, kitaip trūkstami bus ištrinti arba nustatyti į numatytąją reikšmę.
- Su PATCH užklausa galite siųsti tik
email, ir serveris atnaujins tik jį.
C# Web API metodai gali atrodyti taip:
[HttpPut("users/{id}")]
public IActionResult UpdateUser(int id, User user) {
// Viso naudotojo atnaujinimas
}
[HttpPatch("users/{id}")]
public IActionResult PatchUser(int id, JsonPatchDocument<User> patchDoc) {
// Dalinis naudotojo atnaujinimas
}
Taigi, PUT yra idempotentinis metodas visiškai pakeisti, PATCH — daliniams pakeitimams.