HTTP 요청/응답에서의 DTO

김민성·2023년 4월 12일
1

DTO

Data Transfer Object의 약자로 데이터를 전송하기 위한 용도의 객체 정도로 생각할 수 있다.
클라이언트와 서버 간에 데이터 전송이 이루어질 때 DTO를 사용할 수 있다.

DTO가 필요한 이유

  • DTO 클래스를 이용한 코드의 간결성
    : DTO 클래스가 요청 데이터를 하나의 객체로 전달 받는 역할을 해주기 때문

  • 데이터 유효성 검증의 단순화
    : 서버 쪽에서 유효한 데이터를 전달 받기 위해 데이터를 검증하는 것을 유효성 검증이라고한다. 유효성을 검증하는 로직들이 넘쳐나면 그만큼 코드의 복잡도가 증가한다. DTO 클래스를 사용하여 핸들러 메서드 내부에 있는 유효성 검사 로직을 외부로 빼서 메서드를 단순화 시킬 수 있다.

  • 비용이 많이 드는 작업인 HTTP 요청의 수를 줄이기 위해
    @PostMapping
       public ResponseEntity postMember(@Valid @RequestBody MemberPostDto memberDto) {
           return new ResponseEntity<>(memberDto, HttpStatus.CREATED);
       }

**@Valid** 애너테이션은 객체에 유효성 검증을 적용하게 해주는 애너테이션

0개의 댓글