Sobes.tech
Junior — Middle

Կարող եք բացատրել HTTP PUT և PATCH մեթոդների տարբերությունները REST API կոնտեքստում?

sobes.tech AI

Պատասխան AI-ից

HTTP PUT և PATCH մեթոդները օգտագործվում են ռեսուրսների թարմացման համար REST API-ում, բայց տարբեր են իրենց սեմանտիկայով և վարքով:

  • PUT — դա էնդպոտենտ մեթոդ է, որը ամբողջ ռեսուրսը փոխարինում է սերվերում նոր ներկայացմամբ, որը ուղարկվում է հարցման մարմնում: Եթե ռեսուրսը գոյություն չունի, այն կարող է ստեղծվել: Դրոշմակետերով կրկնվող հարցումները նույն արդյունքը կունենան:

  • PATCH — օգտագործվում է ռեսուրսի մասային թարմացման համար: Հարցման մարմնում ուղարկվում են միայն այն դաշտերը, որոնք պետք է փոխվեն, մյուսները մնում են անփոփոխ: PATCH-ը պարտադիր չէ, որ լինի էնդպոտենտ, բայց կարող է լինել:

Օրինակ:

PUT /users/123
{
  "name": "Иван",
  "email": "ivan@example.com"
}

Ավելի ամբողջական ռեսուրսը փոխարինում է 123 օգտվողին նոր օբյեկտով, որը պարունակում է անուն և էլփոստ:

PATCH /users/123
{
  "email": "newemail@example.com"
}

Միայն էլփոստի դաշտը թարմացվում է, անունը մնում է նույնը։