RESTful Soft Удалить
Я пытаюсь создать RESTful веб-приложение, в котором я использую GET, POST, PUT и DELETE. Но у меня возник вопрос об использовании DELETE в этом конкретном приложении.
Сначала немного предыстории:
Мое веб-приложение управляет общими объектами, которые также управляются (и, как правило, всегда создаются) в другой системе. Поэтому в моем веб-приложении каждая сущность будет храниться в базе данных с уникальным ключом. Но то, как мы будем обращаться к ним через URL, - это уникальный ключДругие система.
Простой пример прояснит это, я думаю. Возьми URL/entity/1
, Это отобразит информацию для объекта с идентификатором 1в другой системеи не моя собственная система. Фактически, идентификаторы в моей системе будут полностью скрыты. Не будет схемы URL для доступа к объекту с идентификатором1
в моей собственной системе.
Хорошо, теперь, когда мы знаем, как устроено мое веб-приложение, давайте вернемся к удалению этих объектов.
Будет способ «удалить» сущности в моей системе, но я поставлю кавычки, потому что на самом деле они не будут удалены из базы данных. Скорее, он помечает их свойством, которое предотвращает его появление при переходе к/entity/1
.
Из-за этого я чувствую, что должен использоватьPUT
(«удаление» таким образом будет идемпотентом), так как я, с точки зрения данных, просто устанавливаю свойство.
Итак, вопрос: имеет ли подход RESTful верность данным (в этом случае ясно, что яPUT
ing), или представление данных в приложении (в этом случае кажется, что яDELETE
луг)?