[프로젝트 일지] 0823

개발새발log·2022년 8월 23일
0

프로젝트일지

목록 보기
1/3

비사이드 회원가입 개발

오늘의 포인트

유효성 검증

joinRequest DTO의 유효성 검증에 신경썼다

  • @Valid
  • DTO @NotNull, @Email 등

-> 어떤 예외가 발생하는지 직접 돌려봤다

  • username에 한글 입력시 필드 오류 : java.sql.SQLException: Incorrect string value: '\xEC\x9C\xA0\xEC\x98\x81' for column 'username' at row 1

-> ALTER TABLE (테이블명) convert to charset utf8;

적용해도 자꾸 안되길래 왜 이러나 했는데 원격 디비만 바꿔놓고 로컬 디비는 안 바꿔서였다 ㅎ..
(그나저나 이거 서버 시작할때마다 해야하는 귀찮음이 있다)

통일된 에러 response

-> 에러 response 클래스 만들기

https://cheese10yun.github.io/spring-guide-exception/
을 참고했다.

message 필드로만 구성하도록 작성

why? 다른 에러 필드는 넣을 필요성을 못 느끼기도 했고, API에 명시해놓은 오류 상황을 프론트에게 알리기 위한 목적만 달성하면 된다고 생각했다.
(오류 응답 형식: HTTP 기본 에러 코드 + 에러 응답)

에러 체크

✅ ResponseDTO에 @Getter 설정 안하면 오류 발생

why?
https://www.inflearn.com/questions/360185 참고

-> JsonMessageConverter가 프로퍼티를 바인딩하기 위해 꺼내올 수 있는 @Getter가 필요하다!

✅ request dto @NotNull 설정하고 필수 입력 필드 안 넣어도 왜 insert 되나 했는데,

-> 진짜로 null만 체크하는 거였다. 즉, ""나 " "는 허용한다.
강도에 따라 @NotNull < @NotEmpty < @NotBlank라고 한다.

profile
⚠️ 주인장의 머릿속을 닮아 두서 없음 주의 ⚠️

0개의 댓글