rest일때만 무한 루프 도는 이유가 궁금합니다.
634
작성한 질문수 17
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
예
질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
예
[질문 내용]
그냥 컨트롤러에서 model에 담아서 조회할떄는 무한루프가 안도는데 json으로 반환할떄는 왜 무한로프 도는지가 궁금합니다.
답변 2
1
안녕하세요. maurizio님
JSON 직렬화를 처리하는 라이브러리는 JSON을 만들기 위해서 A -> B, B -> A를 참조하는 경우에는 모든 참조를 순환하게 됩니다.
반면에 MODEL에 담아서 조회할 때는 MODEL에 담긴 객체의 참조를 개발자가 직접 선택하게 됩니다. 따라서 이런 문제가 발생하지 않습니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴이에요.
HTTP 요청에 대한 응답으로 JSON을 반환할 때 무한 루프가 발생하는 이유는 일반적으로 객체 간 참조 관계 때문입니다. JSON은 객체를 텍스트로 표현하는 형식이기 때문에, 객체 간의 연결을 표현하기 위해 참조하고 있는 객체를 계속해서 재귀적으로 표현하게 됩니다.
예를 들어, A 객체가 B 객체를 참조하고, B 객체가 다시 A 객체를 참조하는 상황이라면 JSON으로 변환할 때 두 객체가 서로를 계속해서 참조하게 되어 무한 루프가 발생합니다.
이런 상황을 방지하려면 일반적으로 JSON 직렬화를 위한 라이브러리에서 무한 루프를 방지하는 방법을 제공합니다. 대표적인 방법은 객체 간의 순환 참조를 끊는 것이며, 이를 위해 라이브러리의 설정을 변경하거나 어노테이션을 사용하여 특정 필드를 제외하는 방법을 선택할 수 있습니다.
JSON 직렬화를 수행하는 라이브러리와 프레임워크에 따라 방법이 다를 수 있으니, 사용하고 계신 프레임워크 혹은 라이브러리의 문서를 참고하시면 도움이 될 것입니다.
더 자세한 내용은 프레임워크나 라이브러리의 공식 문서나 커뮤니티를 찾아보시면 도움이 될 것입니다.
더 궁금한 점이 있다면 추가로 질문해주세요. 감사합니다.
강의 관련 외 질문입니다.
0
67
2
SpringBoot4 + Hibernate7 모듈 등록 방법 공유
0
91
1
BeanCreationException
0
90
3
Update 후 UpdateMemberResponse 매핑할 때
0
49
1
트랜잭션을 사용 안 할 때 커넥션은 언제 가져오나요?
0
100
2
페이징 + 검색조건 관련해서 질문드립니다.
0
70
1
Query Dsl Q파일 질문입니다.
0
83
1
루트 쿼리라는것은
0
59
1
메서드를 분리하는 기준
0
63
1
findAllWithMemberDelivery 메서드 질문드립니다.
0
110
3
연관관계 매핑을 안 쓸 경우, 사용해야 하는 전략
0
86
2
fetch join과 영속화와 OSIV의 관계
0
86
2
Distinct 사용 전 결과에 대한 의문
0
114
2
레포지토리 계층에서의 트랜잭션에 대한 의문
0
58
1
영속성 컨텍스트 생명주기의 신기한 부분이 있습니다.
0
78
2
dto 필드 속 엔티티 여부
0
60
1
뷰템플릿 사용 시
0
76
2
Result 클래스 관련 질문
0
56
1
@PostConstruct 프록시 관련 질문드립니다
0
86
1
DTO 대신 Form 사용은 안되나요?
0
137
1
OSIV ON 상태일 때
0
96
1
fetch join VS fetch join 페이징 궁금증
0
182
2
양방향 연관관계 알아보는 법?
0
105
1
16강 17강 간단 정리 이게 맞을까요 ?
0
165
2





