Если вы разрешаете пользователям удалять свой контент, но не позволяете им восстановить его, тогда, насколько они заинтересованы, контент удаляется. Хранение его с атрибутом «удалено» - это то, как вы реализуете это удаление, и не имеет значения для пользователей API.
Это говорит о том, что подходит первый вариант. Используйте DELETE
и измените поле is_delete
на true
и измените поиск SQL
, чтобы игнорировать все, что было «удалено».
Если пользователи могут восстановить, то они на самом деле не удаляются. во-первых, и PATCH может быть более подходящим, чтобы изменить is_delete
с false
на true
и наоборот. Они будут PATCH
переводить ресурс в другое состояние, которое по сути будет «невидимым» состоянием, а не удалять его. Это позволило бы вам осуществить реальное «удаление» с помощью DELETE
запроса, как указано выше, если вы захотите реализовать «окончательное удаление».