<aside> ☝🏻 Entity로 하면 불필요한 데이터도 가져와서 딱 필요한 데이터만 통신하기위해서 만듬

</aside>

UserRegisterDto.class(record로 만드셈)

https://velog.io/@power0080/java자바-record를-entity로

public record UserRegisterDto() {

	// 회원가입 요청 RequestDto
	public record UserSignUpRequestDto(
		String email,
		//Entity에서 만든 password가 rawPassword로 매핑됨
		@JsonProperty("password")
		//Vaildation 요기서 걸려줌 (유효성 검사)
		@Pattern(regexp =  "^(?=.*[A-Za-z])(?=.*\\\\d)(?=.*[@$!%*#?&])[A-Za-z\\\\d@$!%*#?&]{8,}$")
		String rawPassword,
		String nickname,
		// Enum 타입이면 그 Enum class 라는것을 알려줘야함
		@EnumMapping()
		Gender gender
		)

		{
			// 이중괄호 안에서는 초깃값이나 예외 등을 줄 수 있음(소괄호 안 쓰는 생성자)
			public MemberSignUpRequestDto { //소괄호 없쥬 ?
				// 중괄호 생략가능 근데 썬데이에서는 중괄호 넣으라하는데
				// 원래 if는 한단위로 했음 암튼 만드는사람 마음(나는 생략할겨)
				if (email == null) email = "";
			  // 내용넣고 ...
			}
		}
	// 회원가입 응답 ResponseDto
	// 어떻게 응답해서 줄껀지 요기서 정해줄수있음
	public record UserSignUpResponseDto(
				//딱히 반환안해도 될거같아서 일단 불리언
				boolean success
		)
		{// 요기도 작업필요하면 작업해 줄 수 있음}
	

	// 로그인 요청 (위랑같음)
	public record UserLoginRequestDto(
			String email,
			@JsonProperty("password")
			@Pattern(regexp =  "^(?=.*[A-Za-z])(?=.*\\\\d)(?=.*[@$!%*#?&])[A-Za-z\\\\d@$!%*#?&]{8,}$")
			String rawPassword
	){}
	public record UserLoginResponseDto(
			String token
	){}

}