Spring MVC Controller 불변객체 매핑

김태희·2021년 4월 14일
0
post-thumbnail
-@ModelAttribute@RequestBody@ResponseBody
변환 종류GET 쿼리 스트링, POST Body 파라미터 -> DTOJSON -> DTODTO -> JSON
변환 방식생성자 초기화기본 생성자와 getter만 있으면, 필드 다이렉트 주입Getter 추출

생성자 초기화 방식

  • 요청 GET/POST 파라미터(이름 : 값) -> DTO 생성자 매개변수(이름 : 값)
  • 필드의 이름은 데이터 매핑과 관련없다.
  • 생성자 매개변수의 이름이 같아야 한다.

기본 생성자와 getter만 있으면, 필드 다이렉트 주입 방식

  • 요청 JSON 파라미터(이름 : 값) -> DTO 필드(이름 : 값)
  • 기본 생성자가 반드시 있어야 한다.
  • getter가 반드시 있어야 한다.
  • boolean 타입의 경우, 네이밍이 isStart라고 한다면, isIsStart() 라고 명명하면 받아올 수 있다. (by 우테코 크루 웨지)

Getter 추출 방식

  • 반환하는 ResponseDto 객체는 JSON {"${ResponseDto 필드 이름}": "${ResponseDto 필드 값}", ... } 형태로 변환되어 반환된다.
  • Getter가 있어야한다.
    - Getter를 통해서 JSON으로 변환된다.
    - Getter의 이름 기준으로 JSON Data가 생성된다.
    - getAbc() 또는 isAbc() -> {"abc": "${해당 함수 반환 값}"} 으로 변환된다.
    • 필드의 이름은 데이터 매핑과 관련없다.

profile
Web Back-End (Spring, JPA, AWS)

0개의 댓글