如何在 Spring MVC 控制器中正确使用 RESTful 删除?我有 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";
}