불변객체(immutable object) 만들 때 유용한 기능
DTO 클래스를 작성할 때 훨씬 간결해짐
public record MemberDto(Long id, String name, String email) {}
getter, constructor, equals(), hashCode(), toString() 자동 생성final ❗️ setter 없음! -> 불변객체라서
❗️ @JsonProperty를 붙이지 않으면 직렬화/역직렬화 문제 발생
기존 클래스로 만든 DTO
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class ReviewRequestDto {
private String content;
private int rating;
}
record 사용 DTO
public record ReviewRequestDto(
String content,
@NotNull(message = "평점은 필수 입력 값입니다.")
@PositiveOrZero(message = "평점은 0보다 큰 값이어야 합니다.")
int rating
) {
}
오늘 배운 것!
: 불변 객체 (immutable object)를 쉽게 생성 - DTO 만들 때 자주 사용
-> 자동 생성
public record MemberDTO(String id, String name, String email) {
// id, name, email에 대한 getter와 equals, hashCode, toString은 자동으로 생성
}
record는 불변객체 - 데이터 수정이 불필요 한 경우 유용