Ո՞րն է հիմնական տարբերությունը PUT
-ի միջեւ եւ PATCH
հարցումներ, և ե՞րբ պետք է օգտագործենք մեկը մյուսի վրա:
PUT- ը և PATCH- ը HTTP բայեր են, և նրանք երկուսն էլ վերաբերում են ռեսուրսը թարմացնելուն:
PUT- ի և PATCH- ի հարցումների հիմնական տարբերությունը կայանում է նրանում, որ սերվերը մշակում է փակված մարմինը `Request-URI- ի կողմից հայտնաբերված ռեսուրսը փոփոխելու համար:
Մի PUT
-ում հարցում, կցված մարմինը համարվում է ծագման սերվերում պահվող ռեսուրսի փոփոխված տարբերակ, և հաճախորդը պահանջում է փոխարինել պահված տարբերակը:
PATCH
- ով, այնուամենայնիվ, կցված մարմինը պարունակում է մի շարք ցուցումներ, որոնք նկարագրում են, թե ինչպես պետք է ներկայումս ծագող սերվերում գտնվող ռեսուրսը փոփոխվի ՝ նոր տարբերակ արտադրելու համար:
Բացի այդ, մեկ այլ տարբերություն այն է, որ երբ ուզում ես ռեսուրսը թարմացնել PUT
- ով հարցում, դուք պետք է ուղարկեք ամբողջ ծանրաբեռնվածությունը որպես հարցում, մինչդեռ PATCH
- ով դուք ուղարկում եք միայն այն պարամետրերը, որոնք ցանկանում եք թարմացնել:
Առնչվող:
Ենթադրենք, որ մենք ունենք մի ռեսուրս, որը պահում է անձի անուն-ազգանունը:
Եթե ուզում ենք փոխել անունը, ապա մենք ուղարկում ենք PUT
թարմացման խնդրանք
{ 'first': 'Michael', 'last': 'Angelo' }
Այստեղ, չնայած մենք միայն անունն ենք փոխում, PUT
- ով խնդրանքով մենք պետք է ուղարկենք և՛ պարամետրերը նախ և՛ վերջը: Այլ կերպ ասած, պարտադիր է ուղարկել բոլոր արժեքները նորից ՝ ամբողջ ծանրաբեռնվածությունը:
Երբ մենք ուղարկում ենք PATCH
հարցում, այնուամենայնիվ, մենք ուղարկում ենք միայն այն տվյալները, որոնք ցանկանում ենք թարմացնել: Այլ կերպ ասած, մենք միայն անունն ենք ուղարկում թարմացնելու, ազգանունն ուղարկելու կարիք չկա:
Այս պատճառով, PATCH
հարցումը պահանջում է ավելի քիչ թողունակություն: