From a19909e9136e036c5d13f8e558195433db0e02e0 Mon Sep 17 00:00:00 2001 From: wes Date: Fri, 6 Dec 2019 11:12:37 -0500 Subject: [PATCH] all tests pass... is the nightmare over?? i had to go into Users/wes/.m2/repository/com/jackson/core/databind and i downloaded a new copy of databind-2.9.8.jar --- pom.xml | 42 +++++++++---------- .../bakery/controllers/BakerController.java | 19 +++++++-- .../bakery/controllers/MuffinController.java | 23 +++++++--- .../bakery/models/Baker.java | 8 ++++ .../bakery/models/Muffin.java | 8 +++- .../bakery/repositories/BakerRepository.java | 2 + .../bakery/repositories/MuffinRepository.java | 2 + .../bakery/services/BakerService.java | 5 +++ .../bakery/services/MuffinService.java | 7 +++- .../bakery/models/BakerTest.java | 1 + 10 files changed, 84 insertions(+), 33 deletions(-) diff --git a/pom.xml b/pom.xml index 86b8ef6..0c7c2e6 100644 --- a/pom.xml +++ b/pom.xml @@ -1,6 +1,6 @@ + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 com.zipcodewilmington @@ -25,29 +25,29 @@ - - org.springframework.boot - spring-boot-starter-data-jpa - + + org.springframework.boot + spring-boot-starter-data-jpa + org.springframework.data spring-data-jpa - - org.springframework.boot - spring-boot-starter-web - - - - com.h2database - h2 - runtime - - - org.springframework.boot - spring-boot-starter-test - test - + + org.springframework.boot + spring-boot-starter-web + + + + com.h2database + h2 + runtime + + + org.springframework.boot + spring-boot-starter-test + test + @@ -60,4 +60,4 @@ - + \ No newline at end of file diff --git a/src/main/java/com/zipcodewilmington/bakery/controllers/BakerController.java b/src/main/java/com/zipcodewilmington/bakery/controllers/BakerController.java index b69065c..a6a53dd 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.stereotype.Controller; +import org.springframework.web.bind.annotation.*; +@Controller public class BakerController { + private BakerService service; + @Autowired 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("/bakers/{id}") + public ResponseEntity show(@PathVariable Long id) { return new ResponseEntity<>(service.show(id), HttpStatus.OK); } - public ResponseEntity create(Baker baker) { + @PostMapping("/bakers/") + public ResponseEntity create(@RequestBody Baker baker) { return new ResponseEntity<>(service.create(baker), HttpStatus.CREATED); } - public ResponseEntity update(Long id, Baker baker) { + @PutMapping("/bakers/{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("/bakers/{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..5d84b06 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.stereotype.Controller; +import org.springframework.web.bind.annotation.*; +@Controller public class MuffinController { + private MuffinService service; + @Autowired public MuffinController(MuffinService service) { this.service = service; } + @GetMapping(value = "/muffins") public ResponseEntity> index() { return new ResponseEntity<>(service.index(), HttpStatus.OK); } - public ResponseEntity show(Long id) { + @GetMapping(value = "/muffins/{id}") + public ResponseEntity show(@PathVariable Long id) { return new ResponseEntity<>(service.show(id), HttpStatus.OK); } - public ResponseEntity create(Muffin baker) { - return new ResponseEntity<>(service.create(baker), HttpStatus.CREATED); + @PostMapping(value = "/muffins/") + public ResponseEntity create(@RequestBody Muffin muffin) { + return new ResponseEntity<>(service.create(muffin), HttpStatus.CREATED); } - public ResponseEntity update(Long id, Muffin baker) { - return new ResponseEntity<>(service.update(id, baker), HttpStatus.OK); + @PutMapping(value = "/muffins/{id}") + public ResponseEntity update(@PathVariable Long id, @RequestBody Muffin muffin) { + return new ResponseEntity<>(service.update(id, muffin), HttpStatus.OK); } - public ResponseEntity destroy(Long id) { + @DeleteMapping(value = "/muffins/{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..d31f6f9 100644 --- a/src/main/java/com/zipcodewilmington/bakery/models/Baker.java +++ b/src/main/java/com/zipcodewilmington/bakery/models/Baker.java @@ -1,9 +1,17 @@ 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..c3ef763 100644 --- a/src/main/java/com/zipcodewilmington/bakery/models/Muffin.java +++ b/src/main/java/com/zipcodewilmington/bakery/models/Muffin.java @@ -1,9 +1,15 @@ 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..098a26a 100644 --- a/src/main/java/com/zipcodewilmington/bakery/services/BakerService.java +++ b/src/main/java/com/zipcodewilmington/bakery/services/BakerService.java @@ -2,10 +2,15 @@ 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 { + private BakerRepository repository; + @Autowired public BakerService(BakerRepository repository) { this.repository = 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..f7f5d0b 100644 --- a/src/main/java/com/zipcodewilmington/bakery/services/MuffinService.java +++ b/src/main/java/com/zipcodewilmington/bakery/services/MuffinService.java @@ -2,10 +2,15 @@ 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 { - private MuffinRepository repository; + + private MuffinRepository repository; + @Autowired public MuffinService(MuffinRepository repository) { this.repository = repository; } diff --git a/src/test/java/com/zipcodewilmington/bakery/models/BakerTest.java b/src/test/java/com/zipcodewilmington/bakery/models/BakerTest.java index 00b1c6b..1d3bbc2 100644 --- a/src/test/java/com/zipcodewilmington/bakery/models/BakerTest.java +++ b/src/test/java/com/zipcodewilmington/bakery/models/BakerTest.java @@ -13,6 +13,7 @@ public class BakerTest { public void testClassSignatureAnnotations() { Assert.assertTrue(Baker.class.isAnnotationPresent(Entity.class)); } + @Test public void testCreateJson() throws JsonProcessingException { ObjectMapper jsonWriter = new ObjectMapper();