[오늘의 공부]
1. 자바의 정석 - 객체 지향 6장 복습
2. 데이터 모델링 - 20m, ER모델 Cardinality와 Optionality
[오늘 한 일 & 알게 된 것]
1. 회원가입 - 아이디 중복 체크 메서드 만들기
이해가 안가는 부분. @Valid 붙은 객체만 Validator로 검사하는게 아닌가? 왜 @Valid 안붙인 요청값도 Validator를 거칠까?
>> 디버깅을 해본 결과, 컨트롤러에 들어오는 모든 요청값들은 Validator의 supports 메서드를 거치고, @Valid를 붙인 객체만 validate 메서드를 거치는 것이었다. 이론으로 배웠을 때는 이 개념이 헷갈렸는데 디버깅을 해보니 개념이 확실히 와닿았다.
2. 회원가입 - 회원가입 완료 시 jsp 반환하기
회원가입 완료하면 success_join을 반환하도록 작성하였다.
다음과 같이 작성을하면, @ResponseBody가 "success_join"을 jsp파일 이름이 아닌 String 객체로 인식하여 String을 응답한다. 응답헤더에서 content-Type=text/plain인걸 볼 수 있고, 응답 결과를 출력해보면 "success_join"문자열이 출력 된다.
나는 html로 반환하고 싶기 때문에 @ResponseBody를 지워야 내가 원하는 결과를 반환할 수 있었다. 그러면 content-Type=text/html로 반환이 된다.
@PostMapping("/join")
@ResponseBody
public String join(@Valid @RequestBody UserDto userDto, BindingResult result) throws UserValidatorException, DuplicateKeyException {
try {
//검증 실패면
if (result.hasErrors()) {
throw new UserValidatorException(result, "검증 실패");
}
//회원가입 성공
userService.joinUser(userDto);
} catch (DuplicateKeyException de) {
throw new DuplicateKeyException("중복된 아이디입니다.");
}
return "success_join";
}
'프로젝트' 카테고리의 다른 글
[도파민 프로젝트] 개발일지 220821 (0) | 2022.08.21 |
---|---|
[도파민 프로젝트]개발일지 220818 (0) | 2022.08.18 |
[도파민 프로젝트] 개발일지 220817 (0) | 2022.08.17 |
[220809] 데이터 모델링 이슈 정리 (0) | 2022.08.10 |
[도파민 프로젝트] 주제 선정 및 UI 목업 (0) | 2022.08.08 |
댓글