@JsonIgnore 사용과 관련하여 질문드립니다.
728
작성한 질문수 87
안녕하세요! @JsonIgnore 사용과 관련하여 궁금한 것이 있습니다.
API 결과를 반환할 때 엔티티를 바로 노출하지 않는 이유가 API 스펙의 안정화 및 순환참조 에러에 따른 Stackoverflow 에러를 방지하기 위함이라고 배웠는데요.
그런데 강의를 보면 domain에서 Delivery의 Order 와 Member의 Orders와 OrderItem의 Order에 여전히 @JsonIgnore를 사용하고 있네요.
DTO로 반환하는 경우와 별개로 늘 @JsonIgnore는 사용을 해줘야 하는 것인가요?
답변 1
0
안녕하세요. JUNN님, 공식 서포터즈 y2gcoder입니다.
영한님의 강의 특성 상 단계를 진행해나가며 기존의 코드에서 개선하거나 보완하는 방향으로 나가는 경우가 많습니다. 그래서 api 엔드포인트들 중 v1이 들어가는 것들은 엔티티를 반환하는 경우들입니다. 이 때 위에서 말씀하신 부분을 방지하기 위해 @JsonIgnore를 그대로 넣어놓으신 것으로 보입니다.
감사합니다.
0
우선 답변 감사합니다!
저도 y2gcoder님께서 하신 말씀대로 이해를 하고 있었고 그래서 @JsonIgnore 어노테이션을 다 지운 상태로 v2를 만들고 호출했더니 Stackoverflow 에러가 나더라구요. 그래서 제공해주신 소스코드를 보고 @JsonIgnore를 질문에서 명시한 곳에 추가를 했더니 그 때부터는 v2를 호출해도 Stackoverflow 에러가 안 나더라구요.
혹시 이 부분은 왜 그런 것일까요?
0
저도 y2gcoder님께서 하신 말씀대로 이해를 하고 있었고 그래서 @JsonIgnore 어노테이션을 다 지운 상태로 v2를 만들고 호출했더니 Stackoverflow 에러가 나더라구요. 그래서 제공해주신 소스코드를 보고 @JsonIgnore를 질문에서 명시한 곳에 추가를 했더니 그 때부터는 v2를 호출해도 Stackoverflow 에러가 안 나더라구요.
v2를 호출하셨는데 그러셨다면 혹시 디버깅해보시겠습니까?
디버깅이 어려우시다면 제게 프로젝트 공유를 부탁드리겠습니다.
0
안녕하세요. JUNN님, 공식 서포터즈 y2gcoder입니다.
전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.
구글 드라이브 업로드 방법은 다음을 참고해주세요.
구글 드라이브 업로드 방법 링크
주의: 업로드시 권한 문제 꼭 확인해주세요
추가로 다음 내용도 코멘트 부탁드립니다.
1. 실행 방법을 알려주세요.
2. 어떻게 문제를 확인할 수 있는지 자세한 설명을 남겨주세요.
감사합니다.
0
https://drive.google.com/file/d/11xi8R0tuk8EkYzHHvSr5ob5lWnpPvQ4T/view?usp=sharing
링크를 보내드립니다.
실행방법은 로컬 환경에서 인텔리제이로 실행해서 돌렸습니다.
제공해주신 소스코드의 domain 패키지를 보고 @JsonIgnore 어노테이션을 제 프로젝트의 domain 패키지의 클래스에 추가하였던 것을 주석처리 해놓았습니다. OrderApiController에서 V2를 호출하였을 시 스택오버플로우 에러가 나는 것을 확인하시고 이에 대한 해결방법을 알려주시면 감사하겠습니다.
감사합니다.
0
아 그런데 파일을 보내놓고 JsonIgnore를 다 주석처리한 상태에서 V2를 제가 다시 호출하니 이제는 스택오버플로우 에러가 안 나고 정상적으로 응답이 오네요!
그래도 한 번 다시 파일을 보내드릴까요?
강의 관련 외 질문입니다.
0
70
2
SpringBoot4 + Hibernate7 모듈 등록 방법 공유
1
93
1
BeanCreationException
0
93
3
Update 후 UpdateMemberResponse 매핑할 때
0
51
1
트랜잭션을 사용 안 할 때 커넥션은 언제 가져오나요?
0
101
2
페이징 + 검색조건 관련해서 질문드립니다.
0
71
1
Query Dsl Q파일 질문입니다.
0
84
1
루트 쿼리라는것은
0
60
1
메서드를 분리하는 기준
0
67
1
findAllWithMemberDelivery 메서드 질문드립니다.
0
113
3
연관관계 매핑을 안 쓸 경우, 사용해야 하는 전략
0
86
2
fetch join과 영속화와 OSIV의 관계
0
88
2
Distinct 사용 전 결과에 대한 의문
0
117
2
레포지토리 계층에서의 트랜잭션에 대한 의문
0
60
1
영속성 컨텍스트 생명주기의 신기한 부분이 있습니다.
0
78
2
dto 필드 속 엔티티 여부
0
60
1
뷰템플릿 사용 시
0
79
2
Result 클래스 관련 질문
0
56
1
@PostConstruct 프록시 관련 질문드립니다
0
86
1
DTO 대신 Form 사용은 안되나요?
0
139
1
OSIV ON 상태일 때
0
98
1
fetch join VS fetch join 페이징 궁금증
0
189
2
양방향 연관관계 알아보는 법?
0
108
1
16강 17강 간단 정리 이게 맞을까요 ?
0
167
2






