aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorKevin J Hoerr <kjhoerr@protonmail.com>2022-01-25 23:57:08 +0000
committerKevin J Hoerr <kjhoerr@protonmail.com>2022-01-25 23:57:08 +0000
commit11264e508d887a0f8e4317963c0ee032b551023d (patch)
treec6d3601cf6f01892c9763686e3f72b18f918c875 /src/main/java
parentfee02c8d30869f93a8bb8ac13609bb43d08e08fa (diff)
downloadpantry-11264e508d887a0f8e4317963c0ee032b551023d.tar.gz
pantry-11264e508d887a0f8e4317963c0ee032b551023d.tar.bz2
pantry-11264e508d887a0f8e4317963c0ee032b551023d.zip
Add compose for MariaDB
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/dev/submelon/pantry/Item.java51
-rw-r--r--src/main/java/dev/submelon/pantry/ItemController.java33
-rw-r--r--src/main/java/dev/submelon/pantry/ItemRepository.java7
-rw-r--r--src/main/java/dev/submelon/pantry/PantryApplication.java14
4 files changed, 102 insertions, 3 deletions
diff --git a/src/main/java/dev/submelon/pantry/Item.java b/src/main/java/dev/submelon/pantry/Item.java
new file mode 100644
index 0000000..1df7e91
--- /dev/null
+++ b/src/main/java/dev/submelon/pantry/Item.java
@@ -0,0 +1,51 @@
+package dev.submelon.pantry;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+
+@Entity
+public class Item {
+ @Id
+ @GeneratedValue(strategy=GenerationType.AUTO)
+ private Integer id;
+
+ private String name;
+
+ private String description;
+
+ private double quantity;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public double getQuantity() {
+ return quantity;
+ }
+
+ public void setQuantity(double quantity) {
+ this.quantity = quantity;
+ }
+}
diff --git a/src/main/java/dev/submelon/pantry/ItemController.java b/src/main/java/dev/submelon/pantry/ItemController.java
new file mode 100644
index 0000000..cd2f3ff
--- /dev/null
+++ b/src/main/java/dev/submelon/pantry/ItemController.java
@@ -0,0 +1,33 @@
+package dev.submelon.pantry;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+@Controller
+@RequestMapping(path="/item")
+public class ItemController {
+ @Autowired
+ private ItemRepository itemRepository;
+
+ @PostMapping(path="/add")
+ public @ResponseBody String addNewItem (@RequestParam String name, @RequestParam String description, @RequestParam double quantity) {
+ Item item = new Item();
+ item.setName(name);
+ item.setDescription(description);
+ item.setQuantity(quantity);
+
+ itemRepository.save(item);
+ return "Ok";
+ }
+
+ @GetMapping(path="/all")
+ public @ResponseBody Iterable<Item> getAllItems() {
+ return itemRepository.findAll();
+ }
+
+}
diff --git a/src/main/java/dev/submelon/pantry/ItemRepository.java b/src/main/java/dev/submelon/pantry/ItemRepository.java
new file mode 100644
index 0000000..c1c9bb5
--- /dev/null
+++ b/src/main/java/dev/submelon/pantry/ItemRepository.java
@@ -0,0 +1,7 @@
+package dev.submelon.pantry;
+
+import org.springframework.data.repository.CrudRepository;
+
+public interface ItemRepository extends CrudRepository<Item, Integer> {
+
+}
diff --git a/src/main/java/dev/submelon/pantry/PantryApplication.java b/src/main/java/dev/submelon/pantry/PantryApplication.java
index 5522f3d..f63fd04 100644
--- a/src/main/java/dev/submelon/pantry/PantryApplication.java
+++ b/src/main/java/dev/submelon/pantry/PantryApplication.java
@@ -2,12 +2,20 @@ package dev.submelon.pantry;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
+@RestController
public class PantryApplication {
- public static void main(String[] args) {
- SpringApplication.run(PantryApplication.class, args);
- }
+ @RequestMapping("/")
+ public String home() {
+ return "Check this out: http://localhost:8080/item/all";
+ }
+
+ public static void main(String[] args) {
+ SpringApplication.run(PantryApplication.class, args);
+ }
}