Przeglądaj źródła

build process working, adding rest methods to controller

Patrick Glavin 8 lat temu
rodzic
commit
76abffa831

+ 32
- 0
src/main/java/io/zipcoder/tc_spring_poll_application/controller/PollController.java Wyświetl plik

@@ -0,0 +1,32 @@
1
+package io.zipcoder.tc_spring_poll_application.controller;
2
+
3
+import io.zipcoder.tc_spring_poll_application.domain.Poll;
4
+import io.zipcoder.tc_spring_poll_application.repositories.PollRepository;
5
+import org.springframework.http.HttpStatus;
6
+import org.springframework.http.ResponseEntity;
7
+import org.springframework.web.bind.annotation.RequestBody;
8
+import org.springframework.web.bind.annotation.RequestMapping;
9
+import org.springframework.web.bind.annotation.RequestMethod;
10
+import org.springframework.web.bind.annotation.RestController;
11
+
12
+import javax.inject.Inject;
13
+
14
+@RestController
15
+public class PollController {
16
+
17
+    @Inject
18
+    private PollRepository pollRepository;
19
+
20
+    @RequestMapping(value="/polls", method= RequestMethod.GET)
21
+    public ResponseEntity<Iterable<Poll>> getAllPolls() {
22
+        Iterable<Poll> allPolls = pollRepository.findAll();
23
+        return new ResponseEntity<>(allPolls, HttpStatus.OK);
24
+    }
25
+
26
+    @RequestMapping(value="/polls", method=RequestMethod.POST)
27
+    public ResponseEntity<?> createPoll(@RequestBody Poll poll) {
28
+        poll = pollRepository.save(poll);
29
+        return new ResponseEntity<>(null, HttpStatus.CREATED);
30
+    }
31
+
32
+}

+ 9
- 3
src/main/java/io/zipcoder/tc_spring_poll_application/domain/Option.java Wyświetl plik

@@ -7,13 +7,14 @@ import javax.persistence.Id;
7 7
 
8 8
 @Entity
9 9
 public class Option {
10
+
10 11
     @Id
11 12
     @GeneratedValue
12 13
     @Column(name = "OPTION_ID")
13
-    Long id;
14
+    private Long id;
14 15
 
15 16
     @Column(name = "OPTION_VALUE")
16
-    String value;
17
+    private String value;
17 18
 
18 19
     public Long getId() {
19 20
         return id;
@@ -30,4 +31,9 @@ public class Option {
30 31
     public void setValue(String value) {
31 32
         this.value = value;
32 33
     }
33
-}
34
+
35
+    @Override
36
+    public String toString() {
37
+        return getId() + "," + getValue();
38
+    }
39
+}

+ 15
- 4
src/main/java/io/zipcoder/tc_spring_poll_application/domain/Poll.java Wyświetl plik

@@ -1,22 +1,28 @@
1 1
 package io.zipcoder.tc_spring_poll_application.domain;
2 2
 
3
+import org.hibernate.validator.constraints.NotEmpty;
4
+
3 5
 import javax.persistence.*;
6
+import javax.validation.constraints.Size;
4 7
 import java.util.Set;
5 8
 
6 9
 @Entity
7 10
 public class Poll {
11
+
8 12
     @Id
9 13
     @GeneratedValue
10 14
     @Column(name = "POLL_ID")
11
-    Long id;
15
+    private Long id;
12 16
 
13 17
     @Column(name = "QUESTION")
14
-    String question;
18
+    @NotEmpty
19
+    private String question;
15 20
 
16 21
     @OneToMany(cascade = CascadeType.ALL)
17 22
     @JoinColumn(name = "POLL_ID")
18 23
     @OrderBy
19
-    Set<Option> options;
24
+    @Size(min=2, max = 6)
25
+    private Set<Option> options;
20 26
 
21 27
     public Long getId() {
22 28
         return id;
@@ -41,4 +47,9 @@ public class Poll {
41 47
     public void setOptions(Set<Option> options) {
42 48
         this.options = options;
43 49
     }
44
-}
50
+
51
+    @Override
52
+    public String toString() {
53
+        return getId() + ", " + getQuestion() + ", " + getOptions();
54
+    }
55
+}

+ 10
- 4
src/main/java/io/zipcoder/tc_spring_poll_application/domain/Vote.java Wyświetl plik

@@ -4,14 +4,15 @@ import javax.persistence.*;
4 4
 
5 5
 @Entity
6 6
 public class Vote {
7
+
7 8
     @Id
8 9
     @GeneratedValue
9 10
     @Column(name = "VOTE_ID")
10
-    Long id;
11
+    private Long id;
11 12
 
12
-    @ManyToMany
13
+    @ManyToOne
13 14
     @JoinColumn(name = "OPTION_ID")
14
-    Option option;
15
+    private Option option;
15 16
 
16 17
     public Long getId() {
17 18
         return id;
@@ -28,4 +29,9 @@ public class Vote {
28 29
     public void setOption(Option option) {
29 30
         this.option = option;
30 31
     }
31
-}
32
+
33
+    @Override
34
+    public String toString() {
35
+        return getId() + ", " + getOption();
36
+    }
37
+}