diff options
Diffstat (limited to 'src/main/java/dev/submelon/pantry')
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); + } } |
