aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/dev/submelon/pantry/PantryItemController.java20
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);
}
}