diff --git a/src/main/java/com/zipcodewilmington/bakery/controllers/BakerController.java b/src/main/java/com/zipcodewilmington/bakery/controllers/BakerController.java index b69065c..4814105 100644 --- a/src/main/java/com/zipcodewilmington/bakery/controllers/BakerController.java +++ b/src/main/java/com/zipcodewilmington/bakery/controllers/BakerController.java @@ -2,33 +2,44 @@ import com.zipcodewilmington.bakery.models.Baker; import com.zipcodewilmington.bakery.services.BakerService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +@RestController +@RequestMapping("/baker") public class BakerController { + + @Autowired private BakerService service; public BakerController(BakerService service) { this.service = service; } + @GetMapping("/bakers") public ResponseEntity> index() { return new ResponseEntity<>(service.index(), HttpStatus.OK); } - public ResponseEntity show(Long id) { + @GetMapping("/{id}") + public ResponseEntity show(@PathVariable Long id) { return new ResponseEntity<>(service.show(id), HttpStatus.OK); } - public ResponseEntity create(Baker baker) { + @PostMapping("/create") + public ResponseEntity create(@RequestBody Baker baker) { return new ResponseEntity<>(service.create(baker), HttpStatus.CREATED); } - public ResponseEntity update(Long id, Baker baker) { + @PutMapping("/update/{id}") + public ResponseEntity update(@PathVariable Long id, @RequestBody Baker baker) { return new ResponseEntity<>(service.update(id, baker), HttpStatus.OK); } - public ResponseEntity destroy(Long id) { + @DeleteMapping("/delete/{id}") + public ResponseEntity destroy(@PathVariable Long id) { return new ResponseEntity<>(service.delete(id), HttpStatus.OK); } } diff --git a/src/main/java/com/zipcodewilmington/bakery/controllers/MuffinController.java b/src/main/java/com/zipcodewilmington/bakery/controllers/MuffinController.java index f6b5d42..28f843b 100644 --- a/src/main/java/com/zipcodewilmington/bakery/controllers/MuffinController.java +++ b/src/main/java/com/zipcodewilmington/bakery/controllers/MuffinController.java @@ -2,33 +2,44 @@ import com.zipcodewilmington.bakery.models.Muffin; import com.zipcodewilmington.bakery.services.MuffinService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +@RestController +@RequestMapping("/muffin") public class MuffinController { + + @Autowired private MuffinService service; public MuffinController(MuffinService service) { this.service = service; } + @GetMapping("/muffins") public ResponseEntity> index() { return new ResponseEntity<>(service.index(), HttpStatus.OK); } - public ResponseEntity show(Long id) { + @GetMapping("/{id}") + public ResponseEntity show(@PathVariable Long id) { return new ResponseEntity<>(service.show(id), HttpStatus.OK); } - public ResponseEntity create(Muffin baker) { + @PostMapping("/create") + public ResponseEntity create(@RequestBody Muffin baker) { return new ResponseEntity<>(service.create(baker), HttpStatus.CREATED); } - public ResponseEntity update(Long id, Muffin baker) { + @PutMapping("/update/{id}") + public ResponseEntity update(@PathVariable Long id, @RequestBody Muffin baker) { return new ResponseEntity<>(service.update(id, baker), HttpStatus.OK); } - public ResponseEntity destroy(Long id) { + @DeleteMapping("/delete/{id}") + public ResponseEntity destroy(@PathVariable Long id) { return new ResponseEntity<>(service.delete(id), HttpStatus.OK); } } diff --git a/src/main/java/com/zipcodewilmington/bakery/models/Baker.java b/src/main/java/com/zipcodewilmington/bakery/models/Baker.java index 8e8c716..c2f07ca 100644 --- a/src/main/java/com/zipcodewilmington/bakery/models/Baker.java +++ b/src/main/java/com/zipcodewilmington/bakery/models/Baker.java @@ -1,9 +1,16 @@ package com.zipcodewilmington.bakery.models; - +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; import java.util.Objects; +@Entity public class Baker { + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private String name; diff --git a/src/main/java/com/zipcodewilmington/bakery/models/Muffin.java b/src/main/java/com/zipcodewilmington/bakery/models/Muffin.java index 9b374a1..814a667 100644 --- a/src/main/java/com/zipcodewilmington/bakery/models/Muffin.java +++ b/src/main/java/com/zipcodewilmington/bakery/models/Muffin.java @@ -1,9 +1,16 @@ package com.zipcodewilmington.bakery.models; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; import java.util.Objects; +@Entity public class Muffin { + @Id + @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private String flavor; diff --git a/src/main/java/com/zipcodewilmington/bakery/repositories/BakerRepository.java b/src/main/java/com/zipcodewilmington/bakery/repositories/BakerRepository.java index 65923a1..ee03f03 100644 --- a/src/main/java/com/zipcodewilmington/bakery/repositories/BakerRepository.java +++ b/src/main/java/com/zipcodewilmington/bakery/repositories/BakerRepository.java @@ -2,6 +2,8 @@ import com.zipcodewilmington.bakery.models.Baker; import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; +@Repository public interface BakerRepository extends CrudRepository { } diff --git a/src/main/java/com/zipcodewilmington/bakery/repositories/MuffinRepository.java b/src/main/java/com/zipcodewilmington/bakery/repositories/MuffinRepository.java index f63c832..4b8c814 100644 --- a/src/main/java/com/zipcodewilmington/bakery/repositories/MuffinRepository.java +++ b/src/main/java/com/zipcodewilmington/bakery/repositories/MuffinRepository.java @@ -2,6 +2,8 @@ import com.zipcodewilmington.bakery.models.Muffin; import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; +@Repository public interface MuffinRepository extends CrudRepository { } diff --git a/src/main/java/com/zipcodewilmington/bakery/services/BakerService.java b/src/main/java/com/zipcodewilmington/bakery/services/BakerService.java index 6b2fb31..6483555 100644 --- a/src/main/java/com/zipcodewilmington/bakery/services/BakerService.java +++ b/src/main/java/com/zipcodewilmington/bakery/services/BakerService.java @@ -2,8 +2,13 @@ import com.zipcodewilmington.bakery.models.Baker; import com.zipcodewilmington.bakery.repositories.BakerRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +@Service public class BakerService { + + @Autowired private BakerRepository repository; public BakerService(BakerRepository repository) { diff --git a/src/main/java/com/zipcodewilmington/bakery/services/MuffinService.java b/src/main/java/com/zipcodewilmington/bakery/services/MuffinService.java index 69ce276..a2c42d7 100644 --- a/src/main/java/com/zipcodewilmington/bakery/services/MuffinService.java +++ b/src/main/java/com/zipcodewilmington/bakery/services/MuffinService.java @@ -2,8 +2,13 @@ import com.zipcodewilmington.bakery.models.Muffin; import com.zipcodewilmington.bakery.repositories.MuffinRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +@Service public class MuffinService { + + @Autowired private MuffinRepository repository; public MuffinService(MuffinRepository repository) { diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index e69de29..0d804e5 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -0,0 +1,4 @@ +server.port=8080 +spring.datasource.url=jdbc:h2:mem:bakery +spring.h2.console.enabled=true +spring.h2.console.view=/h2-console \ No newline at end of file