Java/Spring Boot로 처음 API를 구축하면서 겪은 시행착오와 배운 점을 서술
백엔드 개발을 처음 배울 때 Spring Boot로 REST API를 만드는 프로젝트를 팀에서 맡았습니다. 프레임워크 자체가 낯설어서 처음 2주는 설정하는 것만으로 시간이 다 갔습니다.
특히 의존성 주입 개념이 처음에는 이해가 되지 않았습니다. 객체를 직접 new로 만들지 않고 스프링이 알아서 주입해준다는 것이 왜 좋은 것인지 몰랐습니다. 그러다 팀원이 테스트를 작성하면서 목(mock) 객체로 교체하는 것을 보고 나서야 이해가 되었습니다. '아, 테스트하기 쉬워지는 것이구나'라고요.
이해가 아니라 필요를 먼저 느끼고 나서 개념이 들어오는 경험이었습니다.
그 프로젝트에서 실패한 부분은 예외 처리를 전혀 하지 않은 것이었습니다. API가 오류 상황에서 내부 스택 트레이스를 그대로 클라이언트에 내려주었는데, 발표 날 교수님이 그걸 보셨습니다. 그 이후로 전역 예외 핸들러를 추가하고, 클라이언트에 노출되는 메시지와 로그용 메시지를 분리하는 방식을 배웠습니다.
작동하는 코드와 안전한 코드는 다르다는 것을 그때 처음 실감했습니다.