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";
}