inflearn logo
강의

Course

Instructor

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

JWT token issuance after social login (kakao)

백앤드 쪽 UserController부분

71

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
어노테이션이 있는지 확인 부탁드립니다!

슬슬 따라하기가 힘들어진다.

0

16

1

안녕하세요 졸업프로젝트를 준비하는 학생입니다.!

0

11

1

[문의] 섹션 7 미션 진행 중...

0

14

1

기본 브랜치의 이름이 master에요.

0

16

1

관리자 페이지 질문

0

13

1

plans 생성이 안됩니다.

0

17

2

19강 15_2) 템블릿에 List가 없는경우는 어떻게 해야되나요?

0

15

1

더빙에 어떤 ai가 쓰였는지 궁금합니다.

0

19

0

보안 적용에 대한 강의가 있을까요?

0

12

1

Auto-memory 기능

0

15

1

64강 context 7 관련 질문

0

15

1

Auto-memory 기능

0

16

0

55강 7분56초

0

14

0

55강 git 초기화 관련 질문이요

0

12

1

안녕하세요 치킨 디도스 이벤트 보고 흉내내보려 들어왔습니다..

0

17

1

클로드 코드에 붙여넣기후 편집 관련 질문입니다!

0

17

1

15강 12-3) 값 제출후 mysql 저장이 안됩니다.

0

16

2

존재하지 않는 일기 url입력 시 alert이 두 번 떠요

0

24

1

윈 터미널의 클로드와 에디터의 터미널의 클로드에 관한 질문

0

16

1

output-styles 명령어 없어 지지 않았나요?

0

20

1

[MISSION 7] 프로필 웹 Github 링크 제출하기 관련..

0

28

0

카카오 로그인시 401에러

0

154

2

Access Token 30분 오타요..

0

84

1

랜덤 키 생성

1

122

2