1

Тема: Відповідність між POST / PUT і додати / відредагувати

Мені треба додавати і редагувати записи для якої з цих операцій мені треба POST, а для якої PUT?

А яку використовувати для видалення?

2

Re: Відповідність між POST / PUT і додати / відредагувати

Ой, знайшов приклад:

GET     /device-management/devices : Отримати всі
POST     /device-management/devices : Створити

GET     /device-management/devices/{id} : Отримати за "id"
PUT     /device-management/devices/{id} : Оновити за "id"
DELETE    /device-management/devices/{id} : Видалити за "id"
Подякували: leofun011

3

Re: Відповідність між POST / PUT і додати / відредагувати

В мене на проєкті PUT - це коли ви перезаписуєте весь об'єкт, а є ще PATCH - це коли ви відправляєте лише частинку об'єкта, і вона "зливається" з об'єктом.

Подякували: koala, Yola, leofun013

4

Re: Відповідність між POST / PUT і додати / відредагувати

Ну, колись давно, коли HTTP лише розроблявся, ідея була в тому, що вебсервер є окремим застосунком, розробленим спеціально для роботи в мережі, і підтримує ряд типів запитів - надати дані, розмістити повідомлення, розмістити ресурс, видалити ресурс і т.д. Час від часу виникають ідеї знову використовувати ці запити, але на практиці зазвичай для всіх запитів використовуються POST (чи, якщо не треба нічого змінювати, GET) із відповідними параметрами.

Підсумую. Додавати:
за стандартом HTTP - PUT https://site/ (запис - у тілі запиту)
загальна практика - POST https://site/?action=add_record (запис і опис - у параметрах POST та тілі)

Редагувати:
за стандартом HTTP - PATCH https://site/ (запис - у тілі запиту)
загальна практика - POST https://site/?action=edit_record (запис і опис - у параметрах POST та тілі)

Видаляти:
за стандартом HTTP - DELETE https://site/ (запис - у тілі запиту)
загальна практика - POST https://site/?action=delete_record (запис і опис - у параметрах POST та тілі)

Якщо ви не пишете власний вебсервер і тим більше послуговуєтеся певним фреймворком (а обраний розділ натякає, що це саме так) - подивіться, що сказано документації цього фреймворку і робіть відповідно. 99%, що всюди буде POST.

Подякували: Yola, leofun012