[내일배움캠프] AI 를 활용한 백엔드 아카데미 심화 과정/TIL

자바 스프링 백엔드 개발 - My Select Shop 프로젝트

jelliclesu 2024. 11. 5. 22:19

[241105 TIL] 

My Select Shop 프로젝트

  • 구현 기능 점검
  • 카카오 로그인 구현
  • Spring AOP, Timer 적용
  • 예외처리

구현 기능 점검

⚠️ 트러블슈팅 ⚠️

 

1. 문제 정의

  • 관심 상품 폴더 기능 점검중, 폴더 추가가 제대로 이뤄지지 않는 문제 발견
    • 관심 상품에서 폴더 추가 버튼을 누르면 작동하지 않음
    • 폴더 추가를 하면 중복하지 않는 폴더명임에도 중복된 폴더라는 알림이 뜨지만, 폴더 추가는 됨

 

2. 원인 추론

 

ERROR

org.thymeleaf.exceptions.TemplateInputException: Error resolving template [api/folders], template might not exist or might not be accessible by any of the configured Template Resolvers

 

 

 

1. thymeleaf exception 이 발생했기에 front 문제인가?

  • console 오류를 확인해보니 basic.js 파일의 folders.map 이 제대로 동작하지 않음을 확인
  • front 의 문제는 아니고, folder 를 제대로 넘겨받지 못하는 문제인듯함

 

2. FolderController 에 API 를 잘못 작성했나?

  • 구글링해보니 API 주소를 잘못 적은 경우가 다반사이길래 확인해보니, 모두 정확하게 적혀있음

 

3. FolderService 에 폴더 추가 함수 자체가 잘못 작성됐나?

  • 조회 함수에서 print를 찍어보니 folderList 가 제대로 생성되지 않음을 확인

  • 추가 함수에서 print를 찍어보니 print 안됨 -> addFolders 함수 안으로 들어가지 못함

 

➡️  folder 가 제대로 넘어오지 못함

 

 

4. FolderController 에서는 folder 가 제대로 생성되는지?

  • PostMapping 에서 print를 찍어보니 print 안됨

 

➡️ @RequestBody 가 제대로 동작하지 않음

 

 

5. @RequestBody 사용을 위한 애노테이션이 제대로 작성되어 있는지?

  • @Controller 만 작성되어 있음을 확인!!

 

3. 해결 방안 및 결과 

  • @Controller -> @RestController
    • @RequestBody 를 사용하려면 @RestController 혹은 @Controller + @ResponseBody 가 명시되어야 함!!
  • @RestController 변경 후 폴더 추가가 제대로 동작됨을 확인

 


카카오 로그인 구현

⚠️ 트러블슈팅 ⚠️

 

1. 문제 정의

  • 카카오 로그인 앱 관리자 설정 오류

 

2. 원인 추론

 

1. Redirect URI 가 잘못 작성되었나?

  • 카카오에 등록한 Redirect URI : http://localhost:8080/api/user/kakao/callback
  • KakaoService 에 작성한 Redirect URI : http://localhost:8080/api/user/login-page/api/user/kakao/callback

 

3. 해결 방안 및 결과

  • redirect_uri 수정
    • http://localhost:8080/api/user/login-page/api/user/kakao/callback
      -> http://localhost:8080/api/user/kakao/callback
  • 수정 후 카카오 로그인 성공!