Как мне правильно использовать удаление RESTful в контроллере Spring MVC? У меня есть DAO, который возвращает логическое значение при попытке удалить какой-либо элемент.
Я пытаюсь удалить элемент. Если все в порядке, просто показать список элементов (удаленного элемента больше не будет ). Если элемент не может быть удален, перенаправьте его на страницу сведений и объясните, почему его не удалось удалить.
Нужен ли мне какой-то особый статус ответа или что-то в этом роде? Является ли мой подход RESTful?
@RequestMapping(value = "items/{id}", method = RequestMethod.DELETE)
public String delete(@PathVariable("id") int itemId, Model model) {
Item item = itemDao.get(id);
// true -> can delete
// false -> cannot delete, f.e. is FK reference somewhere
boolean wasOk = itemDao.delete(item);
if (wasOk) {
return "redirect:/items";
}
// will write to user which item couldn't be deleted
model.addAttribute("item", item);
return "items/error";
}