#16 Lab Started!

開啟中
NiraParikh 請求將 3 次程式碼提交從 NiraParikh/CR-MicroLabs-Annotations-Bakery:master 合併至 master

二進制
.DS_Store 查看文件


+ 22
- 5
src/main/java/com/zipcodewilmington/bakery/Controllers/BakerController.java 查看文件

@@ -2,25 +2,41 @@ 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
+import javax.persistence.PostUpdate;
11
+
12
+@RestController
8 13
 public class BakerController {
14
+
9 15
     private BakerRepository bakerRepository;
10 16
 
17
+    @Autowired
18
+    public BakerController(BakerRepository bakerRepository) {
19
+        this.bakerRepository = bakerRepository;
20
+    }
21
+
22
+
23
+    @GetMapping("/Baker/")
11 24
     public ResponseEntity<Iterable<Baker>> index() {
12 25
         return new ResponseEntity<>(this.bakerRepository.findAll(), HttpStatus.OK);
13 26
     }
14 27
 
15
-    public ResponseEntity<Baker> show(Long id) {
28
+    @GetMapping("/Baker/{id}")
29
+    public ResponseEntity<Baker> show(@PathVariable Long id) {
16 30
         return new ResponseEntity<>(this.bakerRepository.findById(id).get(), HttpStatus.OK);
17 31
     }
18 32
 
19
-    public ResponseEntity<Baker> create(Baker baker) {
33
+    @PostMapping("/Baker/")
34
+    public ResponseEntity<Baker> create(@RequestBody Baker baker) {
20 35
         return new ResponseEntity<>(this.bakerRepository.save(baker), HttpStatus.CREATED);
21 36
     }
22 37
 
23
-    public ResponseEntity<Baker> update(Long id, Baker baker) {
38
+    @PutMapping("/Baker/{id}")
39
+    public ResponseEntity<Baker> update(@PathVariable Long id, @RequestBody Baker baker) {
24 40
         Baker foundBaker = bakerRepository.findById(id).get();
25 41
 
26 42
         foundBaker.setName(baker.getName());
@@ -29,8 +45,9 @@ public class BakerController {
29 45
         return new ResponseEntity<>(this.bakerRepository.save(foundBaker), HttpStatus.OK);
30 46
     }
31 47
 
32
-    public ResponseEntity<Boolean> destroy(Long id) {
33
-        this.bakerRepository.findById(id).get();
48
+    @DeleteMapping("/Baker/{id}")
49
+    public ResponseEntity<Boolean> destroy(@PathVariable Long id) {
50
+        this.bakerRepository.delete(this.bakerRepository.findById(id).get());
34 51
         return new ResponseEntity<>(true, HttpStatus.OK);
35 52
     }
36 53
 }

+ 19
- 5
src/main/java/com/zipcodewilmington/bakery/Controllers/MuffinController.java 查看文件

@@ -2,34 +2,48 @@ 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
8 11
 public class MuffinController {
9 12
 
10 13
     private MuffinRepository muffinRepository;
11 14
 
15
+    @Autowired
16
+    public MuffinController(MuffinRepository muffinRepository) {
17
+        this.muffinRepository = muffinRepository;
18
+    }
19
+
20
+
21
+    @GetMapping("/Muffin/")
12 22
     public ResponseEntity<Iterable<Muffin>> index() {
13 23
         return new ResponseEntity<>(this.muffinRepository.findAll(), HttpStatus.OK);
14 24
     }
15 25
 
16
-    public ResponseEntity<Muffin> show(Long id) {
26
+    @GetMapping("/Muffin/{id}")
27
+    public ResponseEntity<Muffin> show(@PathVariable Long id) {
17 28
         return new ResponseEntity<>(this.muffinRepository.findById(id).get(), HttpStatus.OK);
18 29
     }
19 30
 
20
-    public ResponseEntity<Muffin> create(Muffin muffin) {
31
+    @PostMapping("/Muffin/")
32
+    public ResponseEntity<Muffin> create(@RequestBody Muffin muffin) {
21 33
         return new ResponseEntity<>(this.muffinRepository.save(muffin), HttpStatus.CREATED);
22 34
     }
23 35
 
24
-    public ResponseEntity<Muffin> update(Long id, Muffin muffin) {
36
+    @PutMapping("/Muffin/{id}")
37
+    public ResponseEntity<Muffin> update(@PathVariable Long id, @RequestBody Muffin muffin) {
25 38
         Muffin foundMuffin = muffinRepository.findById(id).get();
26 39
         foundMuffin.setFlavor(muffin.getFlavor());
27 40
 
28 41
         return new ResponseEntity<>(this.muffinRepository.save(foundMuffin), HttpStatus.OK);
29 42
     }
30 43
 
31
-    public ResponseEntity<Boolean> destroy(Long id) {
32
-        this.muffinRepository.deleteById(id);
44
+    @DeleteMapping("/Muffin/{id}")
45
+    public ResponseEntity<Boolean> destroy(@PathVariable Long id){
46
+        this.muffinRepository.delete(this.muffinRepository.findById(id).get());
33 47
         return new ResponseEntity<>(true, HttpStatus.OK);
34 48
     }
35 49
 

+ 12
- 0
src/main/java/com/zipcodewilmington/bakery/Models/Baker.java 查看文件

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

+ 10
- 0
src/main/java/com/zipcodewilmington/bakery/Models/Muffin.java 查看文件

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

+ 1
- 0
src/main/java/com/zipcodewilmington/bakery/Repositories/BakerRepository.java 查看文件

@@ -4,5 +4,6 @@ import com.zipcodewilmington.bakery.Models.Baker;
4 4
 import org.springframework.data.repository.CrudRepository;
5 5
 import org.springframework.stereotype.Repository;
6 6
 
7
+@Repository
7 8
 public interface BakerRepository extends CrudRepository<Baker, Long> {
8 9
 }

+ 1
- 0
src/main/java/com/zipcodewilmington/bakery/Repositories/MuffinRepository.java 查看文件

@@ -4,5 +4,6 @@ import com.zipcodewilmington.bakery.Models.Muffin;
4 4
 import org.springframework.data.repository.CrudRepository;
5 5
 import org.springframework.stereotype.Repository;
6 6
 
7
+@Repository
7 8
 public interface MuffinRepository extends CrudRepository<Muffin, Long> {
8 9
 }