Sobes.tech
Senior

Ի՞նչ տարբերություն կա PUT և POST մեթոդների միջև: Ինչպե՞ս են նրանք վարվում նույն հարցումը կրկին ուղարկելու դեպքում: Ինչո՞վ է զբաղվում PATCH-ը։

sobes.tech AI

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

HTTP PUT և POST մեթոդները semantik և վարքագծով տարբեր են.

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

  • POST — ոչ-idempotent մեթոդ, սովորաբար օգտագործվում է նոր ռեսուրսներ ստեղծելու կամ գործողություններ կատարելու համար: POST հարցման կրկնակի ուղարկումը կարող է հանգեցնել կրկնօրինակների կամ գործողության կրկնման:

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

Օրինակ՝

PUT /users/123
{
  "name": "Иван",
  "age": 30
}

PATCH /users/123
{
  "age": 31
}

POST /users
{
  "name": "Иван",
  "age": 30
}

Նույն տվյալներով PUT-ը կրկին ուղարկելը ռեսուրսը չի փոխի, POST-ը կստեղծի նոր օգտվող, իսկ PATCH-ը նորից թարմացնի տարիքը։