본문 바로가기
Server/Spring

HttpMessageConversionException 발생 원인과 해결책 알아보기

by Ahngyuho 2023. 8. 12.

이번 포스팅에서는 개발 진행 중 만난 예외에 대해 원인과 해결책에 대해 정리해보려고 합니다.

 

예외 화면

원인
MetricAnomalyDto
HttpConverter에 의해 직렬화/역직렬화되는 대상입니다.

HttpConverterJson <-> Java 객체로 변환은 Jackson 라이브러리를 사용하는데

Jakson이 객체를 역직렬화 하기 위해 reflection이라는 기술을 사용하 생성자를 검사하고 선택해 객체 인스턴스를 만드는데 일반적으로 선택되는 것이 기본 생성자 입니다!

 

해결책

lombok의 @NoArgsConstructor 애너테이션을 추가해 기본 생성자를 만들어 주었습니다.

기존의 생성자가 jackson이 reflection을 이용해서 역직렬화 하기에는 무리가 있는 생성자라 예외가 터진 것 같습니다...

 

이번 포스팅에서는 개발 중에 만난 예외에 대한 원인과 해결책에 대해서 알아봤습니다. 하지만 원인도 알았고 어떻게 해결해야 하는지 알았지만 뭔가 근본적인 해결책이 아니라는 느낌이 듭니다...

이런 찜찜함은 아마 reflection이라는 기술 때문인 것 같습니다. 다이나믹 프록시와 연관된 기술이라는 느낌이 들어서

다음 포스팅에서는 다이나믹 프록시와 reflection 이라는 기술에 대해 공부하고 정리해 보겠습니다.

 

'Server > Spring' 카테고리의 다른 글

[Spring Cloud]  (0) 2025.03.04
[JPA] 영속성 컨텍스트  (0) 2025.02.24
@Transactional 에 대하여  (0) 2025.02.24