데이터 바인딩 : JSON 데이터를 자바 POJO로, 자바 POJO를 JSON으로 변환하는 과정을 말한다. 이를 jackson이 관리한다.
cf) 자바 POJO : 평범한 자바 객체나 일반적인 자바 클래스를 의미한다.
JSON에서 POJO로 변환할 때는 setter 메서드를 호출하고, POJO에서 JSON으로 변환할 때는 getter 메소드를 호출한다. 따라서 requestDto에는 무조건 기본 생성자가, responseDto에는 getter가 있어야 한다. Jackson이므로 JSON 기준으로 어떤 메소드가 필요한지 떠올리면 된다. JSON에서 dto -> setter와 같이.
@RestController를 사용할 경우 요청으로 JSON 데이터가 오면 백그라운드에서 POJO 객체로 변환해주고, 응답에서 POJO 객체를 JSON으로 변환해준다.
cf) enum의 json 바인딩 경우
public enum Status { ACTIVE, INACTIVE }
- 직렬화 : enum의 이름을 json 문자열로 반환한다. 즉, "status": "ACTIVE"와 같이 된다.
- 역직렬화 : json 문자열이 enum의 이름과 정확히 일치하면 자동으로 매핑된다.
'Spring Boot' 카테고리의 다른 글
Spring Boot - Validation (1) | 2024.07.22 |
---|---|
Spring Boot Dto 참고사항 (0) | 2024.07.21 |
Spring Boot 직렬화 필터링 fear. JSON (0) | 2024.07.14 |
Spring Boot - 필터에서 발생한 예외 처리 (0) | 2024.07.12 |
Spring Boot - restful api (0) | 2024.06.26 |