Junior — Middle
Ներկայացրեք HTTP PUT և PATCH մեթոդների տարբերությունները ռեսուրսների թարմացման ժամանակ։
sobes.tech AI
Պատասխան AI-ից
Հիմնական տարբերությունները HTTP PUT և PATCH մեթոդների միջև ռեսուրսների թարմացման ժամանակ.
- PUT — օգտագործվում է ռեսուրսի ամբողջական թարմացման համար: Կլիենտը ուղարկում է ռեսուրսի ամբողջական ներկայացում, և սերվերը փոխարինում է առկա ռեսուրսը այս նորով:
- PATCH — օգտագործվում է ռեսուրսի մասնակի թարմացման համար: Կլիենտը ուղարկում է միայն այն դաշտերը, որոնք պետք է փոխվեն, և սերվերը միայն դրանք թարմացնում է, մնացածը մնում է անփոփոխ:
Օրինակ:
Եթե ունեք օգտագործողի օբյեկտ, որի դաշտերը name և email.
- PUT հարցում պետք է ուղարկել երկու դաշտերը, հակառակ դեպքում բացակա դաշտերը կջնջվեն կամ վերականգնվեն:
- PATCH հարցում կարող եք ուղարկել միայն
email, և սերվերը միայն այն կթարմացնի:
C# Web API-ում մեթոդները կարող են выглядել այնպես.
[HttpPut("users/{id}")]
public IActionResult UpdateUser(int id, User user) {
// Օգտագործողի ամբողջական թարմացում
}
[HttpPatch("users/{id}")]
public IActionResult PatchUser(int id, JsonPatchDocument<User> patchDoc) {
// Օգտագործողի մասնակի թարմացում
}
Այսպիսով, PUT-ը իդեմպոտենտ մեթոդ է ամբողջական փոխարինման համար, PATCH-ը՝ մասնակի փոփոխությունների համար։