inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Spring Boot + React.js 로그인 (+소셜) 서비스 이해하기

소셜 로그인 후 JWT 토큰 발급 (kakao)

백앤드 쪽 UserController부분

130

오일중

작성한 질문수 25

0

@PostMapping("/kakao")
public ResponseEntity<?> kakaoLogin(@RequestBody Map<String, String> body,
                                    HttpServletResponse response) {
    String code = body.get("code");
    LoginResponseDto tokens = kakaoOAuthService.kakaoLogin(code, response);
    return ResponseEntity.ok(tokens);
}

여기 코드에서kakaoOAuthService 이게 선언을 찾지못하는데 강의에선 인터페이스?쪽을 가져오는것 같은데 저는 안가져와지는데 원인이 몬가요?

react node.js rest-api spring-boot login

답변 3

1

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 오일중님.

작성하신 UserController 코드에서 kakaoOAuthService가 선언되지 않아 발생하는 문제는 주로 두 가지 이유로 발생할 수 있습니다.

  1. 의존성 주입이 되지 않은 경우: kakaoOAuthService가 UserController에 주입되지 않았을 수 있습니다. 일반적으로 Spring에서는 의존성을 주입하기 위해 @Autowired 애너테이션을 사용하거나 생성자 주입 방식을 사용합니다. UserController에 kakaoOAuthService가 주입되었는지 확인해 주세요.

    예시로 생성자 주입 방식을 보여드리겠습니다:

    @RestController
    @RequestMapping("/user")
    public class UserController {
    
    
        private final KakaoOAuthService kakaoOAuthService;
    
    
        public UserController(KakaoOAuthService kakaoOAuthService) {
            this.kakaoOAuthService = kakaoOAuthService;
        }
    
    
        @PostMapping("/kakao")
        public ResponseEntity<?> kakaoLogin(@RequestBody Map<String, String> body,
                                            HttpServletResponse response) {
            String code = body.get("code");
            LoginResponseDto tokens = kakaoOAuthService.kakaoLogin(code, response);
            return ResponseEntity.ok(tokens);
        }
    }
    
  2. kakaoOAuthService Bean으로 등록되지 않은 경우: 해당 서비스가 Spring 컨텍스트에 Bean으로 등록되어 있는지 확인해 보세요. 보통 서비스 클래스는 @Service 애너테이션 등을 사용하여 Spring Bean으로 등록합니다.

    @Service
    public class KakaoOAuthService {
        // 서비스의 구현
    }
    

해결되지 않는다면 kakaoOAuthService가 제대로 Bean으로 등록되어 있는지, 그리고 UserController에 올바르게 의존성이 주입되어 있는지 확인해 주시길 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해 드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

오일중

네 감사합니다!

0

영넨

안녕하세요!

코드 상단에

private final KakaoOAuthService kakaoOAuthService;

또는

@Autowired

private KakaoOAuthService kakaoOAuthService;

또는 class 상단에
@RequiredArgsConstructor
어노테이션이 있는지 확인 부탁드립니다!

자료 관련 질문?

0

3

0

Fanout on Read 의 학습 코드에서 질문 있어요

0

12

0

8.3 강의에서 createPortal을 삭제하지 않은 이유가 궁금합니다.

0

12

1

장바구니 질문

0

20

1

업데이트는 안되는건가요 ???

0

29

1

수업 소스가 강의 시작전 코드만 있는게 맞나요?

0

18

2

useState는 왜 state를 setter를 통해 변경해야 하는지 궁금해요.

0

22

1

git 다운로드 관련

0

20

1

트러블슈팅 케이스 스터디 - P 대형 커머스

0

15

2

output style

0

24

2

스타터킷이 로컬호스트로 접속해서 웹화면으로 구현되어야 하는 이유가 뭔가요?

0

18

2

클로드코드 홈페이지만들기

0

22

1

강의 내용 질문 `[실습] MDC·UTM·세션ID로 "돈 버는 로거" 만들기`

0

17

1

cursor 앱 위로 스크롤

0

22

1

미션 자료 "다운로드 안됨"

0

29

2

미션 자료 다운 안됨

0

41

2

화면이 보이지 않습니다.

0

31

1

클로드 설치관련 문의

0

41

2

강의 자료가 어디있나요?

0

36

2

22강 [토큰 저장] 질문

0

74

1

13강 [로그인 단일 토큰] 에서 프로젝트 실행 시 에러

0

63

1

카카오 로그인시 401에러

0

310

2

Access Token 30분 오타요..

0

128

1

랜덤 키 생성

1

175

2