목록전체 글 (19)
DS's TechBlog

Spring Security를 활용하여 JWT 로그인을 구현하고 있습니다.Filter에서 발생하는 예외를 처리하기 위해 @ControllerAdvice와 @ExceptionHandler를 사용하였지만, 핸들링이 되지 않는 문제가 발생하였습니다. 원인과 해결법을 알아보겠습니다.문제 코드@RestControllerAdvicepublic class GlobalExceptionHandler { @ExceptionHandler(BusinessException.class) public ResponseEntity handleBusinessException(BusinessException e) { ErrorCode errorCode = e.getErrorCode(); ..

SpringSecuriry를 활용해서 JWT 로그인을 구현했습니다. 그런데 2가지 문제가 생겼습니다. userId를 username으로 받아야 한다.- 진행 중인 프로젝트에서 user Entity에 id와 name 필드가 모두 존재합니다. 하지만, SpringSecurity에서는 id를 username 필드로 전달해 주기 때문에, 두 필드가 서로 헷갈리는 문제가 발생하였습니다. form-data 형식으로 입력을 받아야 한다.- Json 기반의 API 서버를 만들고 있는데, 로그인만 form-data 로 입력을 받는 것은 일관성 부분에서 문제가 있습니다. 이러한 문제를 해결해보겠습니다. 기존코드 @RequiredArgsConstructor public class LoginFilter extends User..
JPA의 findById로 User 엔티티를 가져오려 할 때, 아래와 같은 에러가 발생했습니다. User user = userRepository.findById(id);"Incompatible types. Found: 'java.util.Optional', required: 'com.haedal.haedalweb.domain.User'" Optional 타입으로 받아야 하는데, User 타입으로 받아서 문제가 생겼다고 합니다.그럼, Optional은 무엇이며, 왜 Optional로 반환해야 하는지 알아보겠습니다. Optional이란?A container object which may or may not contain a non-null value. If a value is present, isPresen..