Ответ
Для удаления сущности в REST API используется HTTP-метод DELETE.
Ключевые характеристики:
- Идемпотентный: Повторные идентичные запросы к одному и тому же ресурсу приводят к одному и тому же результату (ресурс остаётся удалённым).
- Безопасный: Нет, метод изменяет состояние на сервере.
Типичная реализация и статусы ответа:
@DeleteMapping("/users/{id}")
public ResponseEntity<Void> deleteUser(@PathVariable Long id) {
userService.deleteById(id);
return ResponseEntity.noContent().build(); // 204 No Content
}
- Успех (ресурс удалён): Возвращают статус
204 (No Content)без тела ответа. - Ресурс не найден: Можно вернуть
404 (Not Found). - Запрещено:
403 (Forbidden)или401 (Unauthorized).
Примечание: Для массового или условного удаления иногда используют POST с телом запроса, так как DELETE обычно не должен содержать тело.