데이터를 전달하기 위해 사용되는 객체
- 만약에 회원정보 수정이라고 하면, DTO가 앞단에서 이루어지고 서비스로 넘어갈때 변환이 이루어짐
- DTO →Entity (controller → service)
- Entity → DTO (service → controller)
- DTO는 보편적으로 Controller에서만 쓰임
- 로그인같은 요청은 JSON을 보내는게 일방적임
MemberpostDTO
- it’s a POJO
- setter가 없으므로 불변임, 한번 데이터가 들어오면 변경할 수 없음 (변경못함)
- DTO 클래스는 최대한 불변을 유지하는게 원칙임
- 아주아주 가끔 setter이 필요한 경우도 있긴ㄴ함
- starter dependency web
- 내부에 jackson이 있는데, json을 java의 객체로 바꿔주는걸 자동으로함
-
이 annotation이 자동으로 수행됨
-
여기에는 @RequestBody
-
postman 사용해서 테스트할 수 있음
여기도
- 이렇게 entity로 변경시켜줘야함
Make also MemberResponseDTO
- MemberPostRecordDto
- 전체 생성자가 자동으로 만들어짐
- getter자동으로 있는데 setter은 없음
- 필드는 public final임
- 이걸 써도 괜찮음
- 강사님은 그냥 DTO를 사용하긴 하는데 레코드는 편리해서 많이 사용됨
- 얘도 불변임
==========
- @RequiredArgsConstructor
================