실무 경험/배운 점 & 회고
[배운 점 & 회고] 5월 12일 실무를 마치고 느낀 점
Tarake
2025. 5. 12. 21:41
배운 점
- 오늘은 백엔드 서버를 테스트하며 Spring Data JPA의 레포지토리 메서드 네이밍 규칙에 대해 배웠습니다. 처음에는 테이블의 기본키인 Id로 데이터를 조회할 수 있으니, 다른 컬럼과 함께 조건을 걸 때도 findByIdAndUser_UserId처럼 작성하면 될 것이라 생각했습니다.
하지만 실제로는 Id만 단독으로 사용하는 경우에만 findById()를 쓰며, 다른 필드와 함께 사용할 경우에는 Id 앞에 엔티티명을 명시해야 한다는 점을 알게 되었습니다. 즉, findBySessionIdAndUser_UserId처럼 명확하게 작성해야 JPA가 올바르게 파싱할 수 있다는 것을 깨달았습니다.
어려웠던 점
- 인터페이스 API 주소를 설계하면서 find?name={Name} 형식으로 URL을 작성했는데, 이 값을 컨트롤러에서 @PathVariable로 받을 수 있을 것이라 생각했습니다. 그러나 Postman으로 테스트해보니 값이 제대로 전달되지 않는 문제가 발생했습니다.
해결 방법
- 해당 문제는 어노테이션 사용의 잘못에서 비롯된 것이었습니다. @PathVariable은 /find/{name}처럼 경로에 포함된 값을 받을 때 사용하는 것이고, ?name=value 형식의 쿼리 파라미터는 @RequestParam을 사용해야 올바르게 매핑됩니다. 이를 적용하자 정상적으로 값이 전달되고, 원하는 동작이 수행되었습니다.
느낀점
- 이번 경험을 통해 개발은 단순히 기능을 구현하는 것을 넘어, 세부적인 문법과 프레임워크의 규칙까지 이해하는 과정임을 다시금 느꼈습니다. 스프링부트에 어느 정도 익숙해졌다고 생각했지만, 실제 프로젝트를 진행하면서 여전히 모르는 부분이 많다는 것을 실감하게 되었습니다.
개발자는 결국 끝없이 배우고 성장해야 하는 직업이라는 사실을 다시 되새기며, 오늘의 시행착오 또한 좋은 배움의 기회가 되었습니다.