no image
SpringSecurity AuthenticationEntryPoint 동작하지 않았던 이유
[글쓰는 의도] 미니프로젝트 과정에서 스프링 시큐리티를 담당했다. JWT AccessToken을 인증하는 과정에서 분명 AuthenticationException 에러가 발생하면 AuthenticationEntryPoint가 동작해서 예외를 처리하기 마련인데 아무리 찾아봐도 내가 커스텀한 AuthenticationEntryPoint 는 동작하지 않았다. [여러가지 해결방안] AI와 열띤 토론을 한 결과 해결책은 다음과 같았다. 1. 커스텀한 예외가 AuthenticationException을 상속받지 못한 경우 public class BadTokenException extends AuthenticationException 2. Spring Bean으로 커스텀한 AuthenticationEntryPoint..
2023.11.27
no image
프로젝트 도중 마주친 @Value의 주의사항
[글 쓴 의도] 이번 토이 프로젝트 주제는 이전에 진행했던 동일 주제에 로그인, Open API, 회원가입 등 다양한 기능을 추가하는 방향으로 진행하기로 했다. 내가 맡은 부분은 Kaka Open API를 연결하고, 여정을 등록하는 과정에서 장소 이름을 입력하면 도로명 주소로 변환하는 기능을 구현하기로 했다. Key 값을 외부에 노출하지 않기 위해 .env 파일에 KAKAO_KEY 필드를 추가하고 application.yaml 파일에 api.key 항목을 추가해서 @Value 어노테이션으로 관리하려고 했다. 하지만 @Value 어노테이션이 잘 동작하지 않는 것을 확인했다. 이유를 알아보자 [문제가 발생한 이유] @Value를 썼을 때, 인텔리제이가 아무 잔소리 없이 넘어갔다는 것은 매핑은 잘 되었다고 볼..
2023.11.13
no image
패스트캠퍼스X야놀자: 백엔드 개발 부트캠프_토이프로젝트2 후기
Title : 여행 여정을 기록과 관리하는 SNS 서비스 2단계 2단계 토이프로젝트는 한 달 전 팀원들과 동일하게, 비슷한 주제로 Spring을 가지고 진행했다. 1단계 서비스와 비슷한 요구사항을 가지고 특징은 API를 설계하고 개발하는 것이 중요하다고 생각했다. 워낙 팀원분들이 잘 하시는 분들이여서.. 이번에도 배운다는 마인드로 임했다. 1단계에서는 여정 부분을 개발했다. 2단계에서도 역할을 나누기 위해 랜덤으로 역할을 정하고 나는 여정 부분을 맡게 되었다. 개발 일정 개발 일정은 위 사진과 같이 동일하게 진행했다. 첫 날에는 API 설계 및 ERD 설계를 진행하고 팀원 역할을 배정했다. 나머지 일정도 위 계획표와 비슷하게 동일했다. API 설계 (여행, 여정) API 설계는 위에 사진과 같이 진행했다..
2023.11.02
no image
Spring Boot 예외처리
Spring Boot의 예외 처리는 @RestControllerAdvice 를 사용한다. @RestControllerAdvice = ControllerAdvice + ResponseBody 따라서, ResponseBody와 같이 리턴하는 응답 값이 body로 설정되어 클라이언트에게 전달된다. 아래와 같이 IndexOutOfBoundsException을 발생하도록 설정하고 HTTP Get요청을 보내면 아래 그림과 같이 Http Status Code 500번과 Internal Server Error이 반환된다. @Slf4j @RestController @RequestMapping("/api") public class RestApiBController { @GetMapping(path = "") public ..
2023.08.01