Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

공hannah부

E-day 프로젝트 - 퀴즈 정답 확인 API(4) 본문

프로젝트/EFUB Eday

E-day 프로젝트 - 퀴즈 정답 확인 API(4)

Hannah0226 2023. 7. 24. 10:32

해야할 것!

  • 백엔드 리드분들이 달아주신 코드리뷰 사항 확인 및 수정

1.  optionId → optionNumber로 이름 수정 및 퀴즈 출력에 optionNumber 추가

 

  • QuizRequestDto
    • optionId → optionNumber로 이름 수정
@Getter
public class QuizRequestDto {
    private int optionNumber;
}

 

  •  OptionResponseDto
    • optionNumber 추가
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class OptionsResponseDto {
	private Integer optionNumber;
	private String content;

	private OptionsResponseDto(Integer optionNumber, String content) {
		this.optionNumber = optionNumber;
		this.content = content;
	}

	public static OptionsResponseDto from(Option option) {
		return new OptionsResponseDto(
				option.getOptionNumber(),
				option.getContent()
		);
	}
}

 

  • Postman 실행 결과


2. 퀴즈 정답 확인 로직 Quiz 엔티티로 옮기기 & optionNumber / option_id 이름 통일

 

  • Quiz 엔티티
    • QuizService에 있던 퀴즈 정답 확인 로직을 Quiz 엔티티로 옮김
    • OptionNumber로 이름 통일 시킴
//퀴즈 정답 확인 로직
public boolean isAnswerOption(int optionNumber){
	for(Option option : optionList){
		if(option.getOptionNumber() == optionNumber){
			return option.getIsAnswer();
		}
	}
	return false;
}

 

  • QuizService
    • checkAnswer 메소드
public boolean checkAnswer(int d_day, int optionNumber, Long memberId) {
	Quiz quiz = findQuiz(d_day);

	boolean isCorrect = quiz.isAnswerOption(optionNumber);
        
	//...이하 생략
}