From d854e022ee6a94764444fd1a0fff9fd9f680dfad Mon Sep 17 00:00:00 2001 From: Jarjanazy Date: Mon, 25 May 2020 15:05:38 +0300 Subject: [PATCH] Add the validation mechanism for Survey submission --- .../com/codeit/survey/DTOs/QuestionSubmissionDTO.java | 4 ++++ .../java/com/codeit/survey/DTOs/SurveySubmissionDTO.java | 8 ++++++++ .../survey/controllers/SurveySubmissionController.java | 3 ++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/survey/src/main/java/com/codeit/survey/DTOs/QuestionSubmissionDTO.java b/survey/src/main/java/com/codeit/survey/DTOs/QuestionSubmissionDTO.java index ee4d208..e16e2f0 100644 --- a/survey/src/main/java/com/codeit/survey/DTOs/QuestionSubmissionDTO.java +++ b/survey/src/main/java/com/codeit/survey/DTOs/QuestionSubmissionDTO.java @@ -5,8 +5,12 @@ import lombok.NoArgsConstructor; import lombok.Setter; +import javax.validation.constraints.NotNull; + @Getter @Setter @NoArgsConstructor @AllArgsConstructor public class QuestionSubmissionDTO { + @NotNull(message = "Question ID can't be null") Integer questionId; + @NotNull(message = "Choice ID can't be null") Integer choiceId; } diff --git a/survey/src/main/java/com/codeit/survey/DTOs/SurveySubmissionDTO.java b/survey/src/main/java/com/codeit/survey/DTOs/SurveySubmissionDTO.java index 1d8227b..489da3c 100644 --- a/survey/src/main/java/com/codeit/survey/DTOs/SurveySubmissionDTO.java +++ b/survey/src/main/java/com/codeit/survey/DTOs/SurveySubmissionDTO.java @@ -4,11 +4,19 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import org.springframework.validation.annotation.Validated; +import javax.validation.Valid; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; import java.util.List; @Getter @Setter @NoArgsConstructor @AllArgsConstructor public class SurveySubmissionDTO { + @NotNull(message = "Survey ID can't be null") Integer surveyId; + + @NotEmpty(message = "QuestionSubmissions can't be empty") + @Valid List questionSubmissions; } diff --git a/survey/src/main/java/com/codeit/survey/controllers/SurveySubmissionController.java b/survey/src/main/java/com/codeit/survey/controllers/SurveySubmissionController.java index 1fe8088..a1fcd6e 100644 --- a/survey/src/main/java/com/codeit/survey/controllers/SurveySubmissionController.java +++ b/survey/src/main/java/com/codeit/survey/controllers/SurveySubmissionController.java @@ -4,6 +4,7 @@ import com.codeit.survey.services.SurveySubmissionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @@ -18,7 +19,7 @@ public SurveySubmissionController(SurveySubmissionService surveySubmissionServic } @PostMapping("/submitSurvey") - public ResponseEntity submitSurvey(@RequestBody SurveySubmissionDTO surveySubmissionDTO){ + public ResponseEntity submitSurvey(@RequestBody @Validated SurveySubmissionDTO surveySubmissionDTO){ return surveySubmissionService.checkSurveyAndSubmit(surveySubmissionDTO); }