이번 개발 과제를 진행하면서 겪었던 문제들, 그 문제들이 현재 진행형이라 그 경험들을 트러블 슈팅으로 기록해본다.
일정 관리 애플리케이션에서 일정 등록 시 외부 날씨 API 를 스프링의 내장 라이브러리RestTemplate 로 날씨 정보를 저장하려 했으나, 호출 실패가 발생하였다.
또한, 모든 요청들을 테스트 과정에서 유저 정보 삭제 요청을 보낼 때 필요한 데이터를 실수로 잘못 입력하거나, 토큰 정보를 누락하고 요청을 보냈을때 401 에러가 발생하는 문제를 발견하게 되었다. 하지만, 시간 부족과 정확한 원인 파악을 하지 못하여 제출 기한내에 해결하지 못하였다.
401 에러가 발생하는 문제

Error while extracting response for type [interface java.util.Map] and content type [application/json;charset=utf-8] 라는 콘솔 에러 메시지가 떴는데, Map 과 관련된 문제가 발생하였다는 것을 알게되었다. Map 컬렉션 타입으로 변환을 시도하다가 오류가 발생하였고, 날씨 데이터를 가져오는 데 실패하였다.WebClient 라이브러리로 변경 후 외부 API 호출 시도restTemplate 라이브러리에서 제공하는 기능이 부족하다는 생각도 해보았다. 그래서 WebClient 라이브러리를 도입하려고 시도를 하였지만 webclient 는 스프링 5 버전 이상에서 제공되는 라이브러리인 걸 알게되었고, 현재 프로젝트는 3.x 버전이라 버전 업을 하게되면 예상치 못한 문제가 발생 할 수 있어 시도는 하지 못하게 되었다.두 문제 모두 많은 시간을 들여 고민하고 노력해보았으나 제출 기한이 얼마 남지 않아 일단 작업 중단을 하였다. 문제의 원인은 어느정도 파악을 한거같아 여유만 있다면 해결 못할 문제는 아니라는 생각이 들었다. 이 두 문제 이외에도 전체적으로 다듬어야 할 부분이 많기 때문에 추후 리팩토링 작업을 할 때 다시 문제 해결 시도를 해보아야겠다.