diff --git a/src/main/java/com/zipcodewilmington/bakery/controllers/BakerController.java b/src/main/java/com/zipcodewilmington/bakery/controllers/BakerController.java index b69065c..06f90a3 100644 --- a/src/main/java/com/zipcodewilmington/bakery/controllers/BakerController.java +++ b/src/main/java/com/zipcodewilmington/bakery/controllers/BakerController.java @@ -2,33 +2,50 @@ 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.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; + +@Controller +@RequestMapping("/bakers") public class BakerController { + + private BakerService service; + @Autowired public BakerController(BakerService service) { this.service = service; } - - public ResponseEntity> index() { - return new ResponseEntity<>(service.index(), HttpStatus.OK); + + @GetMapping(value = "/list") + public ResponseEntity> listBakers() { + return new ResponseEntity<>(service.listBakers(), HttpStatus.OK); } + @GetMapping(value = "/show/{id}") public ResponseEntity show(Long id) { return new ResponseEntity<>(service.show(id), HttpStatus.OK); } - - public ResponseEntity create(Baker baker) { + @PostMapping(value = "/create") + public ResponseEntity create(@RequestBody 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 = "/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/controllers/MuffinController.java b/src/main/java/com/zipcodewilmington/bakery/controllers/MuffinController.java index f6b5d42..f1deaa1 100644 --- a/src/main/java/com/zipcodewilmington/bakery/controllers/MuffinController.java +++ b/src/main/java/com/zipcodewilmington/bakery/controllers/MuffinController.java @@ -2,33 +2,51 @@ 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.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; + +@Controller +@RequestMapping("/muffin") public class MuffinController { private MuffinService service; - + + @Autowired public MuffinController(MuffinService service) { this.service = service; } - public ResponseEntity> index() { - return new ResponseEntity<>(service.index(), HttpStatus.OK); + @GetMapping(value = "/list") + public ResponseEntity> list() { + return new ResponseEntity<>(service.list(), 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); } - public ResponseEntity create(Muffin baker) { + @PostMapping(value = "/create") + public ResponseEntity create(@RequestBody Muffin baker) { return new ResponseEntity<>(service.create(baker), HttpStatus.CREATED); } - public ResponseEntity update(Long id, Muffin baker) { + @PutMapping(value = "/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(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..1128385 100644 --- a/src/main/java/com/zipcodewilmington/bakery/models/Baker.java +++ b/src/main/java/com/zipcodewilmington/bakery/models/Baker.java @@ -3,7 +3,15 @@ import java.util.Objects; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; + + +@Entity public class Baker { + @Id + @GeneratedValue private Long id; private String name; @@ -16,7 +24,7 @@ public Baker() { } public Baker(String name, String employeeId, String specialty) { - this(null, name, employeeId, specialty); + this(null,name, employeeId, specialty); } public Baker(Long id, String name, String employeeId, String specialty) { diff --git a/src/main/java/com/zipcodewilmington/bakery/models/Muffin.java b/src/main/java/com/zipcodewilmington/bakery/models/Muffin.java index 9b374a1..222f9ca 100644 --- a/src/main/java/com/zipcodewilmington/bakery/models/Muffin.java +++ b/src/main/java/com/zipcodewilmington/bakery/models/Muffin.java @@ -2,8 +2,14 @@ import java.util.Objects; -public class Muffin { +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +@Entity +public class Muffin { + @Id + @GeneratedValue 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..f6af3ff 100644 --- a/src/main/java/com/zipcodewilmington/bakery/services/BakerService.java +++ b/src/main/java/com/zipcodewilmington/bakery/services/BakerService.java @@ -3,14 +3,20 @@ 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) { this.repository = repository; } - public Iterable index() { + public Iterable listBakers() { return repository.findAll(); } diff --git a/src/main/java/com/zipcodewilmington/bakery/services/MuffinService.java b/src/main/java/com/zipcodewilmington/bakery/services/MuffinService.java index 69ce276..14f62d6 100644 --- a/src/main/java/com/zipcodewilmington/bakery/services/MuffinService.java +++ b/src/main/java/com/zipcodewilmington/bakery/services/MuffinService.java @@ -3,14 +3,20 @@ 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) { this.repository = repository; } - public Iterable index() { + public Iterable list() { return repository.findAll(); } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index e69de29..d2e718d 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -0,0 +1,4 @@ +server.port=8080 +spring.h2.console.enabled=true +spring.h2.console.view=/h2-console +spring.datasource.url=jdbc:h2:mem:testdb \ No newline at end of file diff --git a/src/test/java/com/zipcodewilmington/bakery/services/BakerServiceTest.java b/src/test/java/com/zipcodewilmington/bakery/services/BakerServiceTest.java index f58fc44..02770db 100644 --- a/src/test/java/com/zipcodewilmington/bakery/services/BakerServiceTest.java +++ b/src/test/java/com/zipcodewilmington/bakery/services/BakerServiceTest.java @@ -17,7 +17,6 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner; -import static org.mockito.BDDMockito.given; @RunWith(SpringRunner.class) @ContextConfiguration(classes = BakeryApplication.class)