[Spring] Response DTO 직렬화 문제

2024. 6. 13. 23:55·Spring

문제

Lombok을 사용하는 프로젝트에서 발생한 문제.

Presentation 레이어에 응답하는 Response DTO에 @Getter를 붙이지 않았더니 JSON으로 반환되지 않는다.

@NoArgsConstructor
public class ResponseDTO {

    private Sting data;
}

 

원인

이는 JSON 으로 직렬화해주는 라이브러리에서 객체에 필드에 접근하기 위해 Getter 메서드들을 사용하지만, Getter가 없으면 해당 필드에 접근할 방법이 없게되고 직렬화 과정에서 제외된다.

해결 방법

해결 방법은 클래스 레벨에 @Getter 를 추가해주거나, 필드에 직접 @JsonProperty 를 사용해서 Getter가 없는 필드도 직렬화할 수 있도록 한다.

방법1.

@Getter
@NoArgsConstructor
public class ResponseDTO {

    private Sting data;
}

방법2.

@NoArgsConstructor
public class ResponseDTO {

    @JsonProperty("data") // json key-value 에서 key 에 해당하는 이름
    private Sting data;
}

'Spring' 카테고리의 다른 글

Spring Event Deep Dive  (2) 2025.01.16
[Spring] MockMvc 사용 시 Page 인터페이스의 직렬화 문제  (0) 2024.12.31
[Spring] 회원탈퇴 시 Kakao OAuth2 연결끊기: REST API로 연결끊기 (OpenFeign)  (2) 2024.10.30
[Spring] 직렬화/역직렬화 시 'is' prefix 가 안붙는 이유  (2) 2024.10.30
[Spring Batch] ItemWriter 가 List<T> 를 전달받으려면? (Spring Batch 5)  (0) 2024.07.01
'Spring' 카테고리의 다른 글
  • [Spring] MockMvc 사용 시 Page 인터페이스의 직렬화 문제
  • [Spring] 회원탈퇴 시 Kakao OAuth2 연결끊기: REST API로 연결끊기 (OpenFeign)
  • [Spring] 직렬화/역직렬화 시 'is' prefix 가 안붙는 이유
  • [Spring Batch] ItemWriter 가 List<T> 를 전달받으려면? (Spring Batch 5)
옐리yelly
옐리yelly
  • 옐리yelly
    개발 갤러리
    옐리yelly
  • 전체
    오늘
    어제
    • 모든 글 보기 (85) N
      • Project (22)
      • Java (4)
      • Spring (8)
      • Kubernetes (6)
      • Docker (2)
      • JPA (3) N
      • Querydsl (2)
      • MySQL (9)
      • ElasticSearch (7)
      • DevOps (4)
      • Message Broker (3)
      • Git & GitHub (2)
      • Svelte (1)
      • Python (8)
        • Python Distilled (4)
        • Anaconda (1)
        • Django (0)
        • pandas (3)
      • Algorithm (1)
      • Computer Science (0)
      • 내 생각 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    nks
    프로젝트
    blue-green 배포
    커넥션 풀
    RabbitMQ
    MySQL
    pandas
    pymysql
    elasticsearch
    k8s
    비사이드
    Message Broker
    OOP
    Spring
    성능 테스트
    포텐데이
    querydsl
    Project
    gitops
    ncloud
    mybatis
    argocd
    JPA
    devops
    Python
    데드락
    리팩토링
    예약 시스템
    docker
    svelte
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
옐리yelly
[Spring] Response DTO 직렬화 문제
상단으로

티스토리툴바