Sobes.tech
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-ը՝ մասնակի փոփոխությունների համար։