From cdf65b32202746eaffd9e58bf951d1995ab03be3 Mon Sep 17 00:00:00 2001 From: Kevin J Hoerr Date: Mon, 31 Jan 2022 16:06:42 -0500 Subject: Add DELETE endpoint for PantryItem --- .../dev/submelon/pantry/PantryItemController.java | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/main/java/dev/submelon/pantry/PantryItemController.java b/src/main/java/dev/submelon/pantry/PantryItemController.java index 142cbf6..d5586e5 100644 --- a/src/main/java/dev/submelon/pantry/PantryItemController.java +++ b/src/main/java/dev/submelon/pantry/PantryItemController.java @@ -1,7 +1,10 @@ package dev.submelon.pantry; +import java.util.NoSuchElementException; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -16,6 +19,12 @@ public class PantryItemController { @Autowired private PantryItemRepository itemRepository; + @GetMapping(path="") + @ResponseBody + Iterable getAllItems() { + return itemRepository.findAll(); + } + @PostMapping(path="") @ResponseBody PantryItem addNewItem(@RequestBody PantryItem item) { @@ -38,10 +47,15 @@ public class PantryItemController { }); } - @GetMapping(path="") + @DeleteMapping(path="/{id}") @ResponseBody - Iterable getAllItems() { - return itemRepository.findAll(); + PantryItem deletePantryItem(@PathVariable Long id) { + return itemRepository.findById(id) + .map(item -> { + itemRepository.delete(item); + return item; + }) + .orElseThrow(NoSuchElementException::new); } } -- cgit