diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/dev/submelon/pantry/PantryItemController.java | 20 |
1 files 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<PantryItem> 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<PantryItem> getAllItems() { - return itemRepository.findAll(); + PantryItem deletePantryItem(@PathVariable Long id) { + return itemRepository.findById(id) + .map(item -> { + itemRepository.delete(item); + return item; + }) + .orElseThrow(NoSuchElementException::new); } } |
