[Spring] JsonMappingException: Infinite recursion (StackOverflowError)

·2023년 1월 14일
0

트러블슈팅

목록 보기
7/7

🚨발생한 에러🚨

JsonMappingException

디버깅을 진행했을 때 비즈니스 로직에는 별다른 문제점이 발견되지 않았다. 에러로그를 살펴보니 Json 타입으로 직렬화할 때 발생하는 문제였다.

🤔발생 원인

Infinite recursion : 무한 재귀

무한 재귀가 돌고돌고 또 돌고 있었다. Member 안에 Pet이 있고 Pet 안에 또 Member가 있기 때문에 끊기지 않고 서로가 서로를 불러오고 있어서 생긴 문제였다.

🤓해결 방법

@JsonIgnore 애너테이션

: 클래스의 필드레벨에 사용하는 애너테이션으로, Json 타입의 직렬화, 역직렬화에 사용되는 속성들을 무시할 때 사용한다. 즉, 해당 애너테이션이 필드 변수에 추가되어 있다면, Json 타입으로 직렬화를 할 때 해당 필드 변수는 Json Reponse에 담기지 않는다.

🤔 한가지 문제점
Pet Response를 가져올 때에는 해당 애너테이션 사용이 유용할 지 몰라도, 다른 엔티티에서 pet 정보를 가진 member 정보를 불러와야할 경우 문제가 생길 것 같다.
지금은 이렇게 해결했지만 개발을 더 진행한 후에는 ResponseDto로 관리해야 할 것 같은 느낌~

profile
🧑‍💻백엔드 개발자, 조금씩 꾸준하게

0개의 댓글

관련 채용 정보