Junior
Ի՞նչ է PUT և POST հարցումների տարբերությունը։
sobes.tech AI
Պատասխան AI-ից
PUT-ը օգտագործվում է ռեսուրս ստեղծելու կամ թարմացնելու համար նշված URI-ով: Դա էիմպոտենտ է, ինչը նշանակում է, որ բազմակի նույնական հարցումները PUT-ը պետք է հանգեցնեն նույն ռեսուրսի վիճակի:
POST-ը օգտագործվում է տվյալներ ուղարկելու համար սերվերին և կարող է ստեղծել նոր ռեսուրս, թարմացնել առկա կամ կատարել այլ գործողություն: Դա չի էիմպոտենտ և բազմակի նույնական հարցումները POST-ը կարող են հանգեցնել մի քանի ռեսուրսների ստեղծման կամ մի քանի գործողության կատարման:
Հիմնական տարբերությունները:
| Գծագիր | PUT | POST |
|---|---|---|
| Օգտագործում | Ռեսուրս ստեղծում/թարմացում URI-ով | Տվյալներ ուղարկում, ռեսուրս ստեղծում/թարմացում |
| Էիմպոտենտություն | Այո | Ոչ |
| URI | Նշում է նպատակային ռեսուրսը | Նշում է տվյալների մշակման ռեսուրսը |
| Արդյունք | Փոխարինում/ստեղծում ռեսուրս URI-ով | Սերվերի վիճակի փոփոխություն |
Օրինակ՝ PUT-ի օգտագործում (օգտագործողի ստեղծում կամ թարմացում ID 1-ով):
// Նկատենք, որ ունենք օգտագործողի տվյալների օբյեկտ
const userData = {
name: "Իվան",
age: 30
};
fetch('/api/users/1', {
method: 'PUT',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(userData)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Սխալ:', error));
Օրինակ՝ POST-ի օգտագործում (նոր օգտագործողի ստեղծում):
// Նկատենք, որ ունենք նոր օգտագործողի տվյալների օբյեկտ
const newUser = {
name: "Պետրոս",
age: 25
};
fetch('/api/users', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(newUser)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Սխալ:', error));