Mitch Taylor 8 anni fa
parent
commit
714e77deda

+ 1
- 1
README.md Vedi File

@@ -150,7 +150,7 @@ public ResponseEntity<Iterable<Poll>> getAllPolls() {
150 150
 @RequestMapping(value="/polls", method=RequestMethod.POST)
151 151
 public ResponseEntity<?> createPoll(@RequestBody Poll poll) {
152 152
         poll = pollRepository.save(poll);
153
-        return new ResponseEntity<>(null, HttpStatus.CREATED);
153
+        return new ResponseEntity<Poll>(null, HttpStatus.CREATED);
154 154
 }
155 155
 ```
156 156
 

+ 23
- 5
src/main/java/io/zipcoder/tc_spring_poll_application/controller/PollController.java Vedi File

@@ -5,10 +5,7 @@ import io.zipcoder.tc_spring_poll_application.repositories.PollRepository;
5 5
 import org.springframework.http.HttpHeaders;
6 6
 import org.springframework.http.HttpStatus;
7 7
 import org.springframework.http.ResponseEntity;
8
-import org.springframework.web.bind.annotation.RequestBody;
9
-import org.springframework.web.bind.annotation.RequestMapping;
10
-import org.springframework.web.bind.annotation.RequestMethod;
11
-import org.springframework.web.bind.annotation.RestController;
8
+import org.springframework.web.bind.annotation.*;
12 9
 import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
13 10
 
14 11
 import javax.inject.Inject;
@@ -26,6 +23,12 @@ public class PollController {
26 23
         return new ResponseEntity<>(allPolls, HttpStatus.OK);
27 24
     }
28 25
 
26
+    @RequestMapping(value="/polls/{pollId}", method=RequestMethod.GET)
27
+    public ResponseEntity<?> getPoll(@PathVariable Long pollId) {
28
+        Poll p = pollRepository.findOne(pollId);
29
+        return new ResponseEntity<> (p, HttpStatus.OK);
30
+    }
31
+
29 32
     @RequestMapping(value="/polls", method=RequestMethod.POST)
30 33
     public ResponseEntity<?> createPoll(@RequestBody Poll poll) {
31 34
         poll = pollRepository.save(poll);
@@ -34,7 +37,22 @@ public class PollController {
34 37
                 .path("/{id}")
35 38
                 .buildAndExpand(poll.getId())
36 39
                 .toUri();
37
-        return new ResponseEntity<>(new HttpHeaders().setLocation(newPollUri), HttpStatus.CREATED);
40
+        HttpHeaders httpHeaders = new HttpHeaders();
41
+        httpHeaders.setLocation(newPollUri);
42
+        return new ResponseEntity<Poll>(httpHeaders, HttpStatus.CREATED);
43
+    }
44
+
45
+    @RequestMapping(value="/polls/{pollId}", method=RequestMethod.PUT)
46
+    public ResponseEntity<?> updatePoll(@RequestBody Poll poll, @PathVariable Long pollId) {
47
+        // Save the entity
48
+        Poll p = pollRepository.save(poll);
49
+        return new ResponseEntity<>(HttpStatus.OK);
50
+    }
51
+
52
+    @RequestMapping(value="/polls/{pollId}", method=RequestMethod.DELETE)
53
+    public ResponseEntity<?> deletePoll(@PathVariable Long pollId) {
54
+        pollRepository.delete(pollId);
55
+        return new ResponseEntity<>(HttpStatus.OK);
38 56
     }
39 57
 
40 58
 }