#21 WJB3003 Bakery

Отворено
WJB3003 жели да споји 2 комит(е) из WJB3003/CR-MicroLabs-Annotations-Bakery:master у master

+ 20
- 4
src/main/java/com/zipcodewilmington/bakery/Controllers/BakerController.java Прегледај датотеку

@@ -2,34 +2,50 @@ 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.PathVariable;
9
+import org.springframework.web.bind.annotation.RequestMapping;
10
+import org.springframework.web.bind.annotation.RequestMethod;
11
+import org.springframework.web.bind.annotation.RestController;
7 12
 
13
+@RestController
8 14
 public class BakerController {
15
+
9 16
     private BakerRepository bakerRepository;
10 17
 
18
+    @Autowired
19
+    public BakerController(BakerRepository bakerRepository) {
20
+        this.bakerRepository = bakerRepository;
21
+    }
22
+
23
+    @RequestMapping(value = "/bakers", method = RequestMethod.GET)
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
+    @RequestMapping(value = "/bakers/{id}", method = RequestMethod.GET)
29
+    public ResponseEntity<Baker> show(@PathVariable Long id) {
16 30
         return new ResponseEntity<>(this.bakerRepository.findById(id).get(), HttpStatus.OK);
17 31
     }
18 32
 
33
+    @RequestMapping(value = "/bakers", method = RequestMethod.POST)
19 34
     public ResponseEntity<Baker> create(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
+    @RequestMapping(value = "/bakers/{id}", method = RequestMethod.PUT)
39
+    public ResponseEntity<Baker> update(@PathVariable Long id, Baker baker) {
24 40
         Baker foundBaker = bakerRepository.findById(id).get();
25
-
26 41
         foundBaker.setName(baker.getName());
27 42
         foundBaker.setSpecialty(baker.getSpecialty());
28 43
 
29 44
         return new ResponseEntity<>(this.bakerRepository.save(foundBaker), HttpStatus.OK);
30 45
     }
31 46
 
32
-    public ResponseEntity<Boolean> destroy(Long id) {
47
+    @RequestMapping(value = "/bakers/{id}", method = RequestMethod.DELETE)
48
+    public ResponseEntity<Boolean> destroy(@PathVariable Long id) {
33 49
         this.bakerRepository.findById(id).get();
34 50
         return new ResponseEntity<>(true, HttpStatus.OK);
35 51
     }

+ 20
- 3
src/main/java/com/zipcodewilmington/bakery/Controllers/MuffinController.java Прегледај датотеку

@@ -2,33 +2,50 @@ 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.stereotype.Controller;
9
+import org.springframework.web.bind.annotation.PathVariable;
10
+import org.springframework.web.bind.annotation.RequestMapping;
11
+import org.springframework.web.bind.annotation.RequestMethod;
12
+import org.springframework.web.bind.annotation.RestController;
7 13
 
14
+@RestController
8 15
 public class MuffinController {
9 16
 
10
-    private MuffinRepository muffinRepository;
17
+    private final MuffinRepository muffinRepository;
11 18
 
19
+    @Autowired
20
+    public MuffinController(MuffinRepository muffinRepository) {
21
+        this.muffinRepository = muffinRepository;
22
+    }
23
+
24
+    @RequestMapping(value = "/muffins", method = RequestMethod.GET)
12 25
     public ResponseEntity<Iterable<Muffin>> index() {
13 26
         return new ResponseEntity<>(this.muffinRepository.findAll(), HttpStatus.OK);
14 27
     }
15 28
 
29
+    @RequestMapping(value = "/muffins/{id}", method = RequestMethod.GET)
16 30
     public ResponseEntity<Muffin> show(Long id) {
17 31
         return new ResponseEntity<>(this.muffinRepository.findById(id).get(), HttpStatus.OK);
18 32
     }
19 33
 
34
+    @RequestMapping(value = "/muffins", method = RequestMethod.POST)
20 35
     public ResponseEntity<Muffin> create(Muffin muffin) {
21 36
         return new ResponseEntity<>(this.muffinRepository.save(muffin), HttpStatus.CREATED);
22 37
     }
23 38
 
24
-    public ResponseEntity<Muffin> update(Long id, Muffin muffin) {
39
+    @RequestMapping(value = "/muffins/{id}", method = RequestMethod.PUT)
40
+    public ResponseEntity<Muffin> update(@PathVariable Long id, Muffin muffin) {
25 41
         Muffin foundMuffin = muffinRepository.findById(id).get();
26 42
         foundMuffin.setFlavor(muffin.getFlavor());
27 43
 
28 44
         return new ResponseEntity<>(this.muffinRepository.save(foundMuffin), HttpStatus.OK);
29 45
     }
30 46
 
31
-    public ResponseEntity<Boolean> destroy(Long id) {
47
+    @RequestMapping(value = "/muffins/{id}", method = RequestMethod.DELETE)
48
+    public ResponseEntity<Boolean> destroy(@PathVariable Long id) {
32 49
         this.muffinRepository.deleteById(id);
33 50
         return new ResponseEntity<>(true, HttpStatus.OK);
34 51
     }

+ 9
- 0
src/main/java/com/zipcodewilmington/bakery/Models/Baker.java Прегледај датотеку

@@ -1,6 +1,15 @@
1 1
 package com.zipcodewilmington.bakery.Models;
2 2
 
3
+
4
+import javax.persistence.Entity;
5
+import javax.persistence.GeneratedValue;
6
+import javax.persistence.Id;
7
+
8
+@Entity
3 9
 public class Baker {
10
+
11
+    @Id
12
+    @GeneratedValue
4 13
     private Long id;
5 14
 
6 15
     private String name;

+ 8
- 0
src/main/java/com/zipcodewilmington/bakery/Models/Muffin.java Прегледај датотеку

@@ -1,6 +1,14 @@
1 1
 package com.zipcodewilmington.bakery.Models;
2 2
 
3
+import javax.persistence.Entity;
4
+import javax.persistence.GeneratedValue;
5
+import javax.persistence.Id;
6
+
7
+@Entity
3 8
 public class Muffin {
9
+
10
+    @Id
11
+    @GeneratedValue
4 12
     private Long id;
5 13
 
6 14
     private String flavor;

+ 4
- 0
src/main/java/com/zipcodewilmington/bakery/Repositories/BakerRepository.java Прегледај датотеку

@@ -2,7 +2,11 @@ package com.zipcodewilmington.bakery.Repositories;
2 2
 
3 3
 import com.zipcodewilmington.bakery.Models.Baker;
4 4
 import org.springframework.data.repository.CrudRepository;
5
+import org.springframework.data.rest.core.annotation.RepositoryRestResource;
5 6
 import org.springframework.stereotype.Repository;
6 7
 
8
+@Repository
9
+@RepositoryRestResource(collectionResourceRel = "bakers", path = "bakers")
7 10
 public interface BakerRepository extends CrudRepository<Baker, Long> {
11
+
8 12
 }

+ 4
- 0
src/main/java/com/zipcodewilmington/bakery/Repositories/MuffinRepository.java Прегледај датотеку

@@ -2,7 +2,11 @@ package com.zipcodewilmington.bakery.Repositories;
2 2
 
3 3
 import com.zipcodewilmington.bakery.Models.Muffin;
4 4
 import org.springframework.data.repository.CrudRepository;
5
+import org.springframework.data.rest.core.annotation.RepositoryRestResource;
5 6
 import org.springframework.stereotype.Repository;
6 7
 
8
+@Repository
9
+@RepositoryRestResource(collectionResourceRel = "bakers", path = "bakers")
7 10
 public interface MuffinRepository extends CrudRepository<Muffin, Long> {
11
+
8 12
 }