본문 바로가기
Back-End/Spring

TIL 230629 : List to JSON 객체 반환시 오류 (jackson)

by 우인입니다 2023. 6. 29.

오늘도 어김없이 이해할 수 없는 타이밍에 찾아오는 오류.

 

단순히 GET메소드로 포스트ResponseDto를 객체로 리턴받는 건데, 하나하나 할때는 되는데 전체를 하면 안 된다.

 

유독 13번 Post만 GET이 안된다.

FK가 있어서일까?? (2~5는 이전 과제에서 등록된 객체)

 

 

새롭게 FK가 지정된 글 14번을 만들었다.

 

역시나 이건 잘 불러와진다.

 

 

?!

 

ResponseDto에 댓글을 담은 List가 있었다.

혹시나 하는 마음에 댓글 테이블을 확인해본다.

 

| 드디어.. 발견했다. 아무래도 JSON <-> 객체 를 해주는 과정에서 List는 오류가 나는 게 아닌가 싶었다.

왠지 jackson의 CollectionSerializer 저 부분일까 싶다.

 

 

Jackson의 ObjectMapper

objectmapper의 다양한 메소드를 통해 Json <-> object 형태변환을 할 수 있다.

이번 경우는  List -> JSON으로 변환해줘야 하는 과정.

Post에서 받아올 때, PostResponseDto에 댓글을 List<Reply>에서 String으로 바꾸고 해당 List<Reply>를 JSON형태의 String 으로 변환해서 넣어주었다.

 

제발, 돼라.

 

예외처리를 하나 해주면 관련된 곳 모두에다가 예외 던져줘야하는데 저걸 처리를 못 하겠다.

 

다른 방법들은 다.. 

 

너무 돌아왔나. 그냥 한번 해보기.

toString하니까 그냥 참조값 나온다.

 

 

Gson이라는 외부라이브러리 가져와봤다..

이게 맞나 싶긴하다. 외부라이브러리를 가져오는 게 올바른 방향인지 아닌지 아직 판단이 안된다.

 

갑자기 또 이상한 오류가 떴다.

 

 

도저히 안 되겠어서 다음에 계속..

 

 

겨우 해결함ㅠㅠㅠ

https://thiswooin.tistory.com/40

 

TIL 230630 : (이어서) Entity반환시 문제. (Dto의 중요성)

https://thiswooin.tistory.com/39 TIL 230629 : List to JSON 객체 반환시 오류 (jackson) 오늘도 어김없이 이해할 수 없는 타이밍에 찾아오는 오류. 단순히 GET메소드로 포스트ResponseDto를 객체로 리턴받는 건데, 하

thiswooin.tistory.com