눈 씻고 로그인 로직 버그 찾기 지난 이슈 트래커 프로젝트를 진행하다가 아주 기묘한 버그를 마주했다. 아래는 문제가 되었던 Oauth 로그인 코드. public JwtResponseDto loginWithOauth(OauthLoginRequestDto requestDto) { // (1) Oauth 클라이언트 구현체 선택 OauthClient oauthClient = oauthClientMapper.getOauthClient(requestDto.getOauthClientName()) .orElseThrow(() -> new InvalidOauthClientNameException()); // (2) 유저 정보 가져오기 OauthUserInfo userInfo = oauthClient.getUserInfo(requestDto.getAut.. 삽질기록 #8 Optional, 스프링 예외처리 (2022.03.15) 스프링 == 김영한님 강의인 것처럼 많은 사람들이 영한님 강의를 보고 스프링 프로젝트를 만든다. 물론 나도 그렇다. 스프링 입문 강의를 열심히 따라가면서 이렇게 하는 거구나 하고 슥슥 만들다 보면, "이거 왜 이렇게 짰어요?" 하는 리뷰어들의 질문이 들어온다. 짧게 심호흡 한 번 하고 진짜 공부는 이 때부터 시작. 그니까 Optional 왜 쓰는 거예요 특정 ID 값에 해당하는 유저를 찾는다고 해 보자. 사실 지금 내가 만들고 있는 건 아주 기본적인 어플리케이션이라서 Repository에 findById()가 있고 Service에도 아이디로 유저를 찾는 메서드가 있다. 기본적으로 Controller에서 Service의 findById()를 호출하면 내부적으로는 Repository의.. 이전 1 다음