본문 바로가기

직렬화 오류2

[Error] Resolved [org.springframework.web.HttpMediaTypeNotAcceptableException: No acceptable representation] Api 응답 객체 공통화 처리를 위해 리팩토링을 진행하고 기분 좋게 Api를 호출했는데 이번에도 에러 메세지를 먼저 만났다. 😭 1. 에러 메세지 2. 오류 발생 원인HttpMediaTypeNotAcceptableException은 클라이언트가 기대하는 형식과 맞지 않거나, 적절한 직렬화가 이루어지지 않을 때 발생한다.일전에 Jackson의 직렬화 오류를 겪지 않았는가!해당 오류도 private 필드에 @Getter를 선언해주지 않아 발생한 오류로 확인되었다. 3. 해결 방법응답 객체에 getter 메서드를 생성해주거나 @Getter 어노테이션을 선언해주면 해당 오류도 해결할 수 있다. 2024. 11. 1.
[Error] No serializer found for class com.jnlim.tennis.dto.TennisDTO and no properties discovered to create BeanSerializer 조회 응답 객체를 리스트 객체와 단일 객체로 구분하여 상황에 맞는 데이터 응답 처리를 위해 코드를 수정하고 테스트하는 중 에러 메세지를 만나게 되었다. 🤣에러 메세지는 개발과 떼어낼 수 없는 관계지만 만날 때마다 긴장하게 된다.하지만 해결하는 맛이 있으니 😎 1. 에러 메세지 2. 오류 발생 원인Jackson이 DTO 클래스에 대한 직렬화기를 찾을 수 없어서 발생하는 문제이다.직렬화기는 객체의 속성을 JSON 문자열로 변환하는 역할을 하며, Jackson은 각 데이터 타입에 대해 해당하는 직렬화기를 자동으로 제공한다.Jackson 2.x 버전에서는 public 필드 또는 getter 메서드가 존재해야 동작하는데 리팩토링 과정에서 private 필드에 @Getter를 선언해주지 않아 발생한 오류로 확인.. 2024. 10. 31.