inflearn logo
강의

Course

Instructor

Spring Boot + React.js Login (+Social) Service Understanding

JWT token issuance after social login (kakao)

백앤드 쪽 UserController부분

72

dlfwnd55320860

23 asked

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

Answer 3

1

communityai8509

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

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

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

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

    @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

dlfwnd55320860

네 감사합니다!

0

neneee

안녕하세요!

코드 상단에

private final KakaoOAuthService kakaoOAuthService;

또는

@Autowired

private KakaoOAuthService kakaoOAuthService;

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

<div id="banner">배너 이미지</div> 관련 질문

0

7

1

5강, 오류 수정과 관련해서

0

16

2

fatal: repository 'https://github.com/gymcoding/my-marketplace.git/' not found

0

15

2

3,4장 이후 미션 제출 질문

0

11

1

setter 사용하지 않기

0

14

1

컴퓨터를 껐다가 클로드 코드 다시 키는 방법 알려주세요.

0

16

1

live server, korean 을 검색해도 아무것도 나오지 않음

0

15

1

커서질문

0

19

1

강의자료

0

18

1

SUPABASE에서 AOI 선택여부

0

16

2

클로드 코드 터미널 사용시 git, git 허브 활용 법

0

22

1

mcp.json파일 생성 X

0

19

2

강의 내용이 정신이없네요 ;;

0

43

2

제 컴퓨터에서는 Claude's plan이 아래와 같이 나오는데 괜찮은 건가요?

0

27

2

강의에서 사용하는 prompt

0

20

2

window 11 환경 + git bash 터미널 statusline 반영이 안됩니다 ㅠ

0

27

2

윈도우에서 Node js를 설치하고 싶어요

0

27

0

강사님 질문있습니다.

0

20

1

프로젝트를 커밋할때 알려주세요

0

25

1

작업결과물이 수업내용의 화면이 좀 다르네요

0

34

2

강의 도중 에러가 발생합니다.

0

34

2

카카오 로그인시 401에러

0

160

2

Access Token 30분 오타요..

0

84

1

랜덤 키 생성

1

122

2