#8 Completed Lab

Отворени
mpierse заяви обединяване на 4 ревизии от mpierse/CR-MicroLabs-Annotations-Bakery:master във master

BIN
.DS_Store Целия файл


+ 16
- 1
pom.xml Целия файл

@@ -14,7 +14,7 @@
14 14
 	<parent>
15 15
 		<groupId>org.springframework.boot</groupId>
16 16
 		<artifactId>spring-boot-starter-parent</artifactId>
17
-		<version>2.0.4.RELEASE</version>
17
+		<version>1.5.11.RELEASE</version>
18 18
 		<relativePath/> <!-- lookup parent from repository -->
19 19
 	</parent>
20 20
 
@@ -50,6 +50,21 @@
50 50
 			<artifactId>spring-data-commons</artifactId>
51 51
 			<version>1.13.10.RELEASE</version>
52 52
 		</dependency>
53
+        <dependency>
54
+            <groupId>org.springframework.boot</groupId>
55
+            <artifactId>spring-boot-starter-data-jpa</artifactId>
56
+        </dependency>
57
+        <dependency>
58
+            <groupId>com.h2database</groupId>
59
+            <artifactId>h2</artifactId>
60
+        </dependency>
61
+
62
+        <dependency>
63
+            <groupId>org.hsqldb</groupId>
64
+            <artifactId>hsqldb</artifactId>
65
+            <scope>runtime</scope>
66
+        </dependency>
67
+
53 68
 	</dependencies>
54 69
 
55 70
 	<build>

+ 5
- 0
src/main/java/com/zipcodewilmington/bakery/BakeryApplication.java Целия файл

@@ -2,11 +2,16 @@ package com.zipcodewilmington.bakery;
2 2
 
3 3
 import org.springframework.boot.SpringApplication;
4 4
 import org.springframework.boot.autoconfigure.SpringBootApplication;
5
+import org.springframework.boot.autoconfigure.domain.EntityScan;
6
+import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
5 7
 
8
+@EnableJpaRepositories
9
+@EntityScan
6 10
 @SpringBootApplication
7 11
 public class BakeryApplication {
8 12
 
9 13
 	public static void main(String[] args) {
10 14
 		SpringApplication.run(BakeryApplication.class, args);
11 15
 	}
16
+	
12 17
 }

+ 10
- 0
src/main/java/com/zipcodewilmington/bakery/Controllers/BakerController.java Целия файл

@@ -2,25 +2,34 @@ package com.zipcodewilmington.bakery.Controllers;
2 2
 
3 3
 import com.zipcodewilmington.bakery.Models.Baker;
4 4
 import com.zipcodewilmington.bakery.Repositories.BakerRepository;
5
+import org.springframework.beans.factory.annotation.Autowired;
5 6
 import org.springframework.http.HttpStatus;
6 7
 import org.springframework.http.ResponseEntity;
8
+import org.springframework.web.bind.annotation.*;
7 9
 
10
+@RestController
11
+@RequestMapping
8 12
 public class BakerController {
9 13
 
14
+    @Autowired
10 15
     private BakerRepository bakerRepository;
11 16
 
17
+    @GetMapping(value = "/baker")
12 18
     public ResponseEntity<Iterable<Baker>> index() {
13 19
         return new ResponseEntity<>(this.bakerRepository.findAll(), HttpStatus.OK);
14 20
     }
15 21
 
22
+    @GetMapping(value = "/baker/{id}")
16 23
     public ResponseEntity<Baker> show(Long id) {
17 24
         return new ResponseEntity<>(this.bakerRepository.findOne(id), HttpStatus.OK);
18 25
     }
19 26
 
27
+    @PostMapping(value = "/baker")
20 28
     public ResponseEntity<Baker> create(Baker baker) {
21 29
         return new ResponseEntity<>(this.bakerRepository.save(baker), HttpStatus.CREATED);
22 30
     }
23 31
 
32
+    @PutMapping(value = "/baker/{id}")
24 33
     public ResponseEntity<Baker> update(Long id, Baker baker) {
25 34
         Baker foundBaker = bakerRepository.findOne(id);
26 35
 
@@ -30,6 +39,7 @@ public class BakerController {
30 39
         return new ResponseEntity<>(this.bakerRepository.save(foundBaker), HttpStatus.OK);
31 40
     }
32 41
 
42
+    @DeleteMapping(value = "/baker/{id}")
33 43
     public ResponseEntity<Boolean> destroy(Long id) {
34 44
         this.bakerRepository.delete(id);
35 45
         return new ResponseEntity<>(true, HttpStatus.OK);

+ 10
- 1
src/main/java/com/zipcodewilmington/bakery/Controllers/MuffinController.java Целия файл

@@ -2,25 +2,33 @@ package com.zipcodewilmington.bakery.Controllers;
2 2
 
3 3
 import com.zipcodewilmington.bakery.Models.Muffin;
4 4
 import com.zipcodewilmington.bakery.Repositories.MuffinRepository;
5
+import org.springframework.beans.factory.annotation.Autowired;
5 6
 import org.springframework.http.HttpStatus;
6 7
 import org.springframework.http.ResponseEntity;
8
+import org.springframework.web.bind.annotation.*;
7 9
 
10
+@RestController
11
+@RequestMapping
8 12
 public class MuffinController {
9 13
 
14
+    @Autowired
10 15
     private MuffinRepository muffinRepository;
11 16
 
17
+    @GetMapping(value="/muffin")
12 18
     public ResponseEntity<Iterable<Muffin>> index() {
13 19
         return new ResponseEntity<>(this.muffinRepository.findAll(), HttpStatus.OK);
14 20
     }
15 21
 
22
+    @GetMapping(value="/muffin/{id}")
16 23
     public ResponseEntity<Muffin> show(Long id) {
17 24
         return new ResponseEntity<>(this.muffinRepository.findOne(id), HttpStatus.OK);
18 25
     }
19
-
26
+    @PostMapping(value = "/muffin")
20 27
     public ResponseEntity<Muffin> create(Muffin muffin) {
21 28
         return new ResponseEntity<>(this.muffinRepository.save(muffin), HttpStatus.CREATED);
22 29
     }
23 30
 
31
+    @PutMapping(value ="/muffin/{id}")
24 32
     public ResponseEntity<Muffin> update(Long id, Muffin muffin) {
25 33
         Muffin foundMuffin = muffinRepository.findOne(id);
26 34
         foundMuffin.setFlavor(muffin.getFlavor());
@@ -28,6 +36,7 @@ public class MuffinController {
28 36
         return new ResponseEntity<>(this.muffinRepository.save(foundMuffin), HttpStatus.OK);
29 37
     }
30 38
 
39
+    @DeleteMapping(value = "/muffin/{id}")
31 40
     public ResponseEntity<Boolean> destroy(Long id) {
32 41
         this.muffinRepository.delete(id);
33 42
         return new ResponseEntity<>(true, HttpStatus.OK);

+ 14
- 0
src/main/java/com/zipcodewilmington/bakery/Models/Baker.java Целия файл

@@ -1,12 +1,26 @@
1 1
 package com.zipcodewilmington.bakery.Models;
2 2
 
3
+import org.springframework.web.bind.annotation.PathVariable;
4
+
5
+import javax.persistence.Column;
6
+import javax.persistence.Entity;
7
+import javax.persistence.GeneratedValue;
8
+import javax.persistence.Id;
9
+
10
+@Entity
3 11
 public class Baker {
12
+    @Id
13
+    @GeneratedValue
14
+    @Column(name = "id")
4 15
     private Long id;
5 16
 
17
+    @Column(name = "bakerName")
6 18
     private String name;
7 19
 
20
+    @Column(name = "employeeId")
8 21
     private String employeeId;
9 22
 
23
+    @Column(name = "specialty")
10 24
     private String specialty;
11 25
 
12 26
     public Baker(String name, String employeeId, String specialty) {

+ 10
- 0
src/main/java/com/zipcodewilmington/bakery/Models/Muffin.java Целия файл

@@ -1,9 +1,19 @@
1 1
 package com.zipcodewilmington.bakery.Models;
2 2
 
3
+import javax.persistence.Column;
4
+import javax.persistence.Entity;
5
+import javax.persistence.GeneratedValue;
6
+import javax.persistence.Id;
7
+
8
+@Entity
3 9
 public class Muffin {
4 10
 
11
+    @Id
12
+    @GeneratedValue
13
+    @Column(name = "id")
5 14
     private Long id;
6 15
 
16
+    @Column(name = "flavor")
7 17
     private String flavor;
8 18
 
9 19
     public Muffin(String flavor) {

+ 1
- 0
src/main/resources/application.properties Целия файл

@@ -0,0 +1 @@
1
+server.port=8081