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