Explorar el Código

Poll Controller

Mitch Taylor hace 8 años
padre
commit
714e77deda

+ 1
- 1
README.md Ver fichero

150
 @RequestMapping(value="/polls", method=RequestMethod.POST)
150
 @RequestMapping(value="/polls", method=RequestMethod.POST)
151
 public ResponseEntity<?> createPoll(@RequestBody Poll poll) {
151
 public ResponseEntity<?> createPoll(@RequestBody Poll poll) {
152
         poll = pollRepository.save(poll);
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 Ver fichero

5
 import org.springframework.http.HttpHeaders;
5
 import org.springframework.http.HttpHeaders;
6
 import org.springframework.http.HttpStatus;
6
 import org.springframework.http.HttpStatus;
7
 import org.springframework.http.ResponseEntity;
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
 import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
9
 import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
13
 
10
 
14
 import javax.inject.Inject;
11
 import javax.inject.Inject;
26
         return new ResponseEntity<>(allPolls, HttpStatus.OK);
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
     @RequestMapping(value="/polls", method=RequestMethod.POST)
32
     @RequestMapping(value="/polls", method=RequestMethod.POST)
30
     public ResponseEntity<?> createPoll(@RequestBody Poll poll) {
33
     public ResponseEntity<?> createPoll(@RequestBody Poll poll) {
31
         poll = pollRepository.save(poll);
34
         poll = pollRepository.save(poll);
34
                 .path("/{id}")
37
                 .path("/{id}")
35
                 .buildAndExpand(poll.getId())
38
                 .buildAndExpand(poll.getId())
36
                 .toUri();
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
 }