Modify getQuizRequest
This commit is contained in:
@@ -9,9 +9,9 @@ public final class QuizConstants {
|
||||
public static final int MINIMUM_QUIZ_SIZE = 1;
|
||||
public static final int MAXIMUM_QUIZ_SIZE = 5;
|
||||
|
||||
public static final String DEFAULT_PAGE_NUMBER = "0";
|
||||
public static final int DEFAULT_PAGE_NUMBER = 0;
|
||||
public static final int MIN_PAGE_NUMBER = 0;
|
||||
public static final int MIN_PAGE_SIZE = 1;
|
||||
public static final String DEFAULT_PAGE_SIZE = "10";
|
||||
public static final int DEFAULT_PAGE_SIZE = 10;
|
||||
public static final int MAX_PAGE_SIZE = 30;
|
||||
}
|
||||
|
||||
@@ -1,24 +1,19 @@
|
||||
package com.mangkyu.employment.interview.app.quiz.controller;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.mangkyu.employment.interview.app.quiz.converter.QuizDtoConverter;
|
||||
import com.mangkyu.employment.interview.app.common.erros.exception.QuizException;
|
||||
import com.mangkyu.employment.interview.app.quiz.dto.*;
|
||||
import com.mangkyu.employment.interview.app.quiz.service.QuizService;
|
||||
import com.mangkyu.employment.interview.enums.value.QuizCategory;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.hibernate.validator.constraints.Range;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.util.ResourceUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
import static com.mangkyu.employment.interview.app.quiz.constants.QuizConstants.*;
|
||||
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
public class QuizController {
|
||||
@@ -45,18 +40,13 @@ public class QuizController {
|
||||
}
|
||||
|
||||
@GetMapping("/quiz/{id}")
|
||||
public ResponseEntity<GetQuizResponse> getQuiz(@PathVariable final long id) {
|
||||
public ResponseEntity<GetQuizResponse> getQuiz(@PathVariable final long id) throws QuizException {
|
||||
return ResponseEntity.ok(quizService.getQuiz(id));
|
||||
}
|
||||
|
||||
@Valid
|
||||
@GetMapping("/quizzes")
|
||||
public ResponseEntity<GetQuizResponseHolder> getQuizList(
|
||||
@RequestParam(defaultValue = DEFAULT_PAGE_SIZE) @Range(min = MIN_PAGE_SIZE, max = MAX_PAGE_SIZE) int size,
|
||||
@RequestParam(defaultValue = DEFAULT_PAGE_NUMBER) @Range(min = MIN_PAGE_NUMBER) int page,
|
||||
@NotNull final QuizCategory category) {
|
||||
|
||||
final GetQuizResponseHolder response = quizService.getQuizList(QuizDtoConverter.convert(size, page, category));
|
||||
public ResponseEntity<GetQuizResponseHolder> getQuizList(@Valid final GetQuizRequest getQuizRequest) {
|
||||
final GetQuizResponseHolder response = quizService.getQuizList(getQuizRequest);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,17 +1,28 @@
|
||||
package com.mangkyu.employment.interview.app.quiz.dto;
|
||||
|
||||
import com.mangkyu.employment.interview.app.quiz.constants.QuizConstants;
|
||||
import com.mangkyu.employment.interview.enums.value.QuizCategory;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.*;
|
||||
import org.hibernate.validator.constraints.Range;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Setter
|
||||
@Getter
|
||||
@Builder
|
||||
@RequiredArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class GetQuizRequest {
|
||||
|
||||
private final int size;
|
||||
private final int page;
|
||||
private final QuizCategory category;
|
||||
@NotNull
|
||||
private QuizCategory category;
|
||||
|
||||
@Builder.Default
|
||||
@Range(min = QuizConstants.MIN_PAGE_SIZE, max = QuizConstants.MAX_PAGE_SIZE)
|
||||
private int size = QuizConstants.DEFAULT_PAGE_SIZE;
|
||||
|
||||
@Builder.Default
|
||||
@Range(min = QuizConstants.MIN_PAGE_NUMBER)
|
||||
private int page = QuizConstants.DEFAULT_PAGE_NUMBER;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user