<aside> ✅ - status : 응답상태 (ex, “FAIL”)
code : 에러코드 (ex, “REQ_ERROR_INVALID_PHONE”)
message : 에러 메시지 (ex, "전화번호 형식 오류")
</aside>
BasicException.class
: API의 의미적 Validation과 DB⋆서버 오류를 처리하기 위한 클래스BasicResponse.class
: API의 응답 내용(status, code, message, result)과 형식(JSON)을 설정BasicResponseStatus.ENUM
: 처리할 예외를 정의한 상수InterceptorExceptionHandler.class
: @ControllerAdvice로 컨트롤러 밖에서 발생한 BasicException 에러 처리DTO (데이터 전송 객체) : @Valid로 형식적 Validation 처리
@Getter
@Setter
@AllArgsConstructor
public class PostUserReq {
@Pattern(regexp = "^[0-9]{11}" , message="전화번호 형식 오류")
private String phone; //전화번호
@Size(min=1, max=20, message="이름 형식 오류")
private String name; //이름
@Size(min=1, max=20, message="비밀번호 형식 오류")
private String password; //비밀번호
@NotNull(message="생일 미입력")
@DateTimeFormat(iso= DateTimeFormat.ISO.DATE)
@Past(message="생일 날짜 오류") //현재보다 과거이면 통과
private **Date** birthDay; //생일
private **PrivacyPolicyStatus** privacyPolicyStatus; //개인정보 처리방침 동의여부
@Size(min=1, max=20, message="닉네임 형식 오류")
private String nickName; //사용자 이름(닉네임)
}