From ddc8e9bbe781620ba70d4c1b0888e4f59b407da1 Mon Sep 17 00:00:00 2001 From: Rex Date: Tue, 17 Aug 2021 15:39:38 -0400 Subject: [PATCH] Bakers donezen annotated --- .../bakery/controllers/BakerController.java | 18 ++++++++++++++---- .../bakery/controllers/MuffinController.java | 19 ++++++++++++++++--- .../bakery/models/Baker.java | 11 +++++++++++ .../bakery/models/Muffin.java | 12 ++++++++++++ .../bakery/repositories/BakerRepository.java | 2 ++ .../bakery/repositories/MuffinRepository.java | 2 ++ .../bakery/services/BakerService.java | 5 +++++ .../bakery/services/MuffinService.java | 5 +++++ src/main/resources/application.properties | 1 + 9 files changed, 68 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/bakery/controllers/BakerController.java b/src/main/java/com/zipcodewilmington/bakery/controllers/BakerController.java index b69065c..4a247b9 100644 --- a/src/main/java/com/zipcodewilmington/bakery/controllers/BakerController.java +++ b/src/main/java/com/zipcodewilmington/bakery/controllers/BakerController.java @@ -2,33 +2,43 @@ 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(value = "/baker-controller") public class BakerController { + + @Autowired private BakerService service; public BakerController(BakerService service) { this.service = service; } - + @GetMapping("/index") //@GetMapping maps a / root path from a GET request to the index() method public ResponseEntity> index() { return new ResponseEntity<>(service.index(), HttpStatus.OK); } - public ResponseEntity show(Long id) { + @GetMapping(value = "/read/{id}") + public ResponseEntity show(@PathVariable Long id) { return new ResponseEntity<>(service.show(id), HttpStatus.OK); } + @PostMapping(value = "/create") public ResponseEntity create(Baker baker) { return new ResponseEntity<>(service.create(baker), HttpStatus.CREATED); } - public ResponseEntity update(Long id, Baker baker) { + @PutMapping (value = "/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(value = "/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..7be603d 100644 --- a/src/main/java/com/zipcodewilmington/bakery/controllers/MuffinController.java +++ b/src/main/java/com/zipcodewilmington/bakery/controllers/MuffinController.java @@ -2,33 +2,46 @@ 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.*; + +//CONTROLLER - REQUEST MAPPING +@RestController +@RequestMapping(value = "/muffin-controller") public class MuffinController { + + @Autowired private MuffinService service; public MuffinController(MuffinService service) { this.service = service; } + @GetMapping("/index") //@GetMapping maps a / root path from a GET request to the index() method public ResponseEntity> index() { return new ResponseEntity<>(service.index(), HttpStatus.OK); } - public ResponseEntity show(Long id) { + + @GetMapping(value = "/show/{id}") + public ResponseEntity show(@PathVariable Long id) { return new ResponseEntity<>(service.show(id), HttpStatus.OK); } + @PostMapping(value = "/create") public ResponseEntity create(Muffin baker) { return new ResponseEntity<>(service.create(baker), HttpStatus.CREATED); } - public ResponseEntity update(Long id, Muffin baker) { + public ResponseEntity update(@PathVariable Long id, @RequestBody Muffin baker) { return new ResponseEntity<>(service.update(id, baker), HttpStatus.OK); } - public ResponseEntity destroy(Long id) { + @DeleteMapping(value = "destroy/{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..d5c9ad0 100644 --- a/src/main/java/com/zipcodewilmington/bakery/models/Baker.java +++ b/src/main/java/com/zipcodewilmington/bakery/models/Baker.java @@ -1,9 +1,20 @@ package com.zipcodewilmington.bakery.models; +import org.springframework.stereotype.Component; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; import java.util.Objects; +@Entity +@Component 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..a477001 100644 --- a/src/main/java/com/zipcodewilmington/bakery/models/Muffin.java +++ b/src/main/java/com/zipcodewilmington/bakery/models/Muffin.java @@ -1,9 +1,21 @@ package com.zipcodewilmington.bakery.models; +import org.springframework.stereotype.Component; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; import java.util.Objects; + +@Entity +@Component 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..030c66a 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 //responsible for preforming service tasks public class BakerService { + + @Autowired //service is specialized component. 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..4b268cc 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 //responsible for service class 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..a3ac65c 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -0,0 +1 @@ +server.port=8080 \ No newline at end of file