ResponseBody의 중첩 클래스 리턴 - f-lab-edu/jshop GitHub Wiki
문제
ResponseBody를 중첩된 json 형태로 리턴하기 위해 클래스 내부에 클래스를 사용. 이때 직렬화 할 수 없다는 예외 발생.
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class jshop.dto.response.Response$ResponseHeader and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: jshop.dto.response.Response["header"])
at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:77) ~[jackson-databind-2.17.1.jar:2.17.1]
at com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1330) ~[jackson-databind-2.17.1.jar:2.17.1]
해결
필드의 getter가 없어서 직렬화를 하지못해 발생한 문제. getter를 추가해 해결.