Sobes.tech
Junior

Պատմեք մեզ REST API-ում PUT մեթոդի մասին։

sobes.tech AI

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

Մեթոդը PUT օգտագործվում է ռեսուրս ստեղծելու կամ թարմացնելու համար նշված URI-ով:

Հիմնական առանձնահատկությունները՝

  • Իդեմպոտենտություն: Միևնույն PUT հարցումը միևնույն մարմնով կրկնելը կհանգեցնի նույն ռեսուրսի վիճակին (համենայն դեպս, պատասխանն առցանց կարող է տարբեր լինել):
  • Լրիվ փոխարինում: PUT հարցումը ուղարկում է ռեսուրսի ամբողջական նոր ներկայացում, որը փոխարինում է առկա ռեսուրսին:
  • Ստեղծում կամ թարմացում: Եթե նշված URI-ով ռեսուրսը գոյություն չունի, PUT այն ստեղծում է: Եթե կա՝ թարմացնում է: Եթե ռեսուրսը բացակայում է, հաջող PUT հարցում այն ստեղծվում է, ինչը սովորաբար վերադարձնում է 201 Created կարգավիճակը: Կանխատեսում է, որ առկա ռեսուրսի թարմացումը սովորաբար վերադարձնում է 200 OK կամ 204 No Content (եթե պատասխանին մարմին չկա):

Օգտագործման հիմնական դեպքերը՝

  • Օգտագործողի ամբողջական պրոֆիլի թարմացում:
  • Եթե հաճախորդը որոշում է իր URI-ն՝ ռեսուրս ստեղծելը:

Օրինակ PUT հարցում՝

PUT /users/123 HTTP/1.1
Host: api.example.com
Content-Type: application/json

{
  "id": 123,
  "name": "Նոր անուն",
  "email": "new.email@example.com"
}

Սերվերը կստանա այս հարցումը և կամ ստեղծում է օգտագործողին id=123, կամ ամբողջությամբ փոխարինում է այդ ID-ով օգտագործողի մասին տեղեկությունները՝ տվյալներով, որոնք տրված են հարցման մարմնում:

PUT-ը տարբերվում է POST-ից հետևյալ կերպ՝

  • PUT-ը օգտագործվում է ռեսուրսը թարմացնելու կամ ստեղծելու համար հայտնի URI-ով, որը որոշում է հաճախորդը: POST-ը օգտագործվում է ռեսուրս ստեղծելու համար, որտեղ սերվերը որոշում է նոր ռեսուրսի URI-ն, կամ այլ գործողությունների համար, որոնք չեն պատկանում այլ HTTP մեթոդների:
  • PUT-ը իդեմպոտենտ է, POST-ը՝ ոչ: Կրկնվող POST հարցումները նույն մարմնով կարող են ստեղծել մի քանի նույնական ռեսուրսներ կամ առաջացնել տարբեր կողմնակի ազդեցություններ:

Համեմատական աղյուսակ PUT և POST-ի միջև՝

Գծագիր PUT POST
Նպատակը Ռեսուրս ստեղծել կամ թարմացնել Ռեսուրս ստեղծել, տվյալներ ուղարկել
Իդեմպոտենտություն Այո Ոչ
URI որոշում Հաճախորդով Սերվերով
Ռեսուրսի վրա ազդեցություն Փոխարինում կամ լրիվ ստեղծում Սովորաբար ավելացնում կամ գործողություն կատարում