DTO

BuZZLightyear·2023년 4월 12일
0

정리

목록 보기
47/47

DTO의 장점
1. DTO 클래스를 만들어서 핸들러 메서드의 파라미터들을 모아 주면 코드가 굉장히 간결해 진다.
2. 데이터 유효성 검증을 에너테이션으로 단순하게 할 수 있다.
3. DTO를 사용하는 목적은 비용이 많이드는 HTTP 요청의 수를 줄이기 위함이다.
4. DTO는 클라이언트에서 서버 쪽으로 전송(역직렬화)하는 요청 데이터를 전달 받을 때, 서버에서 클라이언트 쪽으로 전송(직렬화)하는 응답 데이터를 전송하기 위한 용도로 사용된다.

JSON 형식의 Request Body를 전달 받기 위해서는 DTO 객체에 @RequestBody 애너테이션을 붙여야 한다.
Response Body를 JSON 형식으로 전달하기 위해서는 @ResponseBody 애너테이션을 메서드 앞에 붙여 주어야하지만 ResponseEntity 객체를 리턴 값으로 사용할 경우 @ResponseBody 를 생략할 수 있다.

Custom Validator를 사용한 유효성 검증

  1. Custom Validator를 사용하기 위한 Custom Annotation을 정의한다.
  2. 정의한 Custom Annotation에 바인딩 되는 Custom Validator를 구현한다.
  3. 유효성 검증이 필요한 DTO 클래스의 멤버 변수에 Custom Annotation을 추가한다.


Controller의 파라미터에 @RequestParam을 통해 파라미터를 입력 받는 것보다 DTO클래스에 파라미터를 모아놓고 객체화 시키는게 훨씬 간결한 걸 볼 수 있다.
그리고 DTO 클래스에서 각 상황에 맞는 유효성 검증을 편하게 할 수 있는 에너테이션들을 사용해서 Controller클래스에서 if를 사용해 유효성검사를 할 필요없이 편하고 간결하게 유효성 검사를 할 수 있다.

profile
버즈라이트이어

0개의 댓글