오류 해결 방법
[web] 서버에서 생성한 데이터가 fetch된 JSON에 보이지 않음
게임광코끼리
2025. 9. 2. 11:35
1. 문제 증상
- 클라이언트에서 어떤 데이터를 서버에 전송했을 때,
서버는 내부적으로 추가 계산을 해서(예: 본문 중 앞 20자만 잘라 요약 텍스트를 만듦) 새로운 값을 생성함.
- 백엔드 로그상으로는 값이 잘 생성되고 저장까지 되었지만,
클라이언트가 받은 JSON 응답에는 그 값이 보이지 않음.
2. 원인 분석
- 서버 쪽은 정상 작동
- 서버 로그와 저장 결과를 확인해보니 값이 생성되어 처리까지 됨.
- 따라서 직렬화 문제나 서버 로직 오류는 아님.
- 클라이언트 요청 경로가 잘못됨
- 클라이언트가 데이터를 조회할 때 올바른 API 주소가 아닌 다른 주소를 호출하고 있었음.
- 그 결과 서버가 내려주는 데이터 구조가 달라져, 기대한 값이 응답에 포함되지 않음.
- 클라이언트에서 서버 응답을 무시
- 데이터를 보낸 뒤 서버가 돌려준 응답(JSON)을 사용하지 않고,
클라이언트가 직접 보낸 요청 데이터를 그대로 다시 쓰고 있었음.
- 서버에서 생성한 값은 요청에는 없기 때문에 당연히 화면에 표시되지 않음.
3. 해결 과정
- API 주소를 올바르게 수정
- 잘못된 요청 경로 대신 서버 문서에 정의된 정확한 경로를 호출하도록 변경.
- 이로써 서버가 내려주는 값이 응답에 포함됨.
- 서버 응답을 실제로 사용하도록 코드 수정
- 단순히 요청 바디를 재사용하지 않고,
서버가 돌려준 res.data(응답 JSON)를 기반으로 화면을 갱신.
- 이제 서버에서 생성한 값도 정상적으로 표시됨.
4. 교훈
- 응답(JSON)을 반드시 확인하라
- 데이터를 보낸 뒤 서버가 어떤 응답을 내려주는지, Network 탭에서 직접 확인해야 한다.
- API 경로를 정확히 맞춰라
- 프론트엔드와 백엔드가 서로 다른 주소를 쓰면, 데이터 구조가 달라져 원하는 값을 못 받는다.
- 서버가 생성해주는 값은 요청 바디에 없다
- 서버에서 새로 계산하거나 추가하는 값은 오직 응답을 통해서만 확인 가능하다.
- 따라서 항상 res.data를 기반으로 상태를 갱신해야 한다.
'오류 해결 방법' Related Articles