Используйте глагол PUT или PATCH, когда запрос обновляется и удаляется: реальный дизайн - PullRequest
0 голосов
/ 13 декабря 2018

В последнее время я пытался правильно получить глаголы HTTP, однако у меня есть сомнения относительно использования PUT, PATCH или даже POST для следующего сценария.

Передняя часть отправляет следующие данные JSON:

{
    name: "Spanish-01",
    code: "ESP01",
    students: [{
        IdStudent: 1,
        name:  "Peter Parker"
    },
    {
        IdStudent: 2
        name:  "Ben Reilly",
        dirtyRemove: true
    }]
}

Внутренний код обновит запись Class (например, имя и код).Тем не менее, он также удалит учеников с флагом dirtyRemove и тех, кто живет в другой таблице с именем Студент .

Так какое здесь правило?Так как PUT и PATCH согласно w3.org, здесь предназначен для обновления существующего ресурса.В этом случае серверная часть одновременно обновляется и удаляется?

Стоит ли использовать PUT или PATCH или нет?

ПРИМЕЧАНИЕ: Не возражайте против части FE, я уменьшил область видимости, чтобы получить более простой пример

1 Ответ

0 голосов
/ 14 декабря 2018

Как ваши ресурсы реализованы внутри с использованием таблиц - это деталь реализации.Это не имеет значения.

Тем не менее, ваш пример полезной нагрузки не соответствует PUT (чтобы удалить студента, вы бы его пропустили). может соответствовать PATCH, если вы правильно помечаете полезную нагрузку типом содержимого, описывающим ожидаемую семантику.

Nit: спецификация HTTP - это не документ W3, а версия, в которой вы находитесьсмотреть на устарело.

...