Вот ответ в голосовом формате.Я надеюсь, что это поможет прояснить ваши параметры немного подробнее.
В архитектуре в стиле REST важно, чтобы реализация API не изменила реализацию каких-либо базовых протоколов - в этом случаеэто означает, что GET
запросов должны быть идемпотентными.Хотя идемпотент не означает, что лежащие в основе ресурсы не могут изменяться или уходить навсегда (AKA быть удаленными), то, что это происходит как прямой или косвенный результат GET
, похоже, не соответствует духу протокола.
Любая система, которая гарантирует доставку сообщения, требует, чтобы какое-то рукопожатие сообщило, что предполагаемый получатель успешно получил сообщение - если HTTP является рассматриваемым протоколом, то это подразумевает два запроса.Даже в случае, когда поведение GET
было изменено для ленивого удаления ресурсов, рукопожатие все еще присутствует - оно только что было сдвинуто во времени.Опять же, если HTTP является протоколом в вопросах, то лучше использовать существующие методы GET
, а затем DELETE
для поиска и удаления для этого рукопожатия.Результат не должен облагать налогом сеть больше, чем любой эквивалентный подход.