발생 이슈 프로젝트를 진행하던 중 새로운 API를 구현해 배포했는데 프론트 분에게 해당 API로 요청을 보내면 CORS 문제로 403 응답을 받는다는 연락를 받았습니다. 분명히 CORS에 대한 security 설정을 했고 로그인 API에서는 일어나지 않은 문제여서 문제 파악부터 해야됐습니다. 우선 이슈 발생 당시 Config 설정과 API 요청, 응답을 확인해봤습니다. SecurityConfig.java @EnableWebSecurity @Configuration @RequiredArgsConstructor public class SecurityConfig { private final OAuth2LoginSuccessHandler oAuth2LoginSuccessHandler; private final ..
2022년 11월 Spring boot 3 가 릴리즈되었고, 현재는 spring boot 3.1.x 까지 릴리즈 되었습니다. 새로운 프로젝트를 시작하기에 앞서 spring boot의 변경사항에 알아보기 위해 포스팅을 하게되었습니다. 스프링 부트 3은 4.5년 전 2.0이 릴리즈 된 이후 선보인 개정판입니다. 새 릴리즈 버전의 주요 사항은 다음과 같습니다. Java17 기반 Spring Native 프로젝트를 대체하는 GraalVM을 통한 네이티브 이미지 생성 지원 Spring Framework 6.0 기반 EE 9 기반의 Jakarta EE 10 지원 스프링 문서에 따르면 보안 업데이트, 버그 수정은 23년 말까지 지원합니다. Java 17 spring boot 3은 Java 17을 기반으로 하기 때문에..
이전의 포스트에서 flyway를 적용시키고 테이블의 컬럼을 추가했습니다. 2023.08.19 - [spring] - Spring flyway 적용하기 Spring flyway 적용하기 다들 아시다시피 jpa의 ddl-auto는 create, create-drop, update 옵션을 사용하면 엔티티를 만들면 자동으로 DDL을 작성하여 테이블을 생성하고 수정하는 편리한 기능입니다. 하지만 운영환경에서도 이 기 hjsdev.tistory.com 현재 프로젝트에서 테스트 코드를 작성할 때 @Sql 어노테이션을 사용해 미리 작성한 sql파일로 필요한 데이터를 넣고 있어 추가된 컬럼을 수정했습니다. 이전 Sql insert into student_lesson values (1, false, 1, 1); inser..
다들 아시다시피 jpa의 ddl-auto는 create, create-drop, update 옵션을 사용하면 엔티티를 만들면 자동으로 DDL을 작성하여 테이블을 생성하고 수정하는 편리한 기능입니다. 하지만 운영환경에서도 이 기능을 적용하면 실수로 테이블이 삭제되거나 변경사항이 적용되지 않은 채 배포되는 등 문제를 일으킬 수 있기때문에 validate 나 none 옵션을 사용합니다. 프로젝트를 진행하다 테이블 컬럼을 추가해야되는 일이 생겼는데 구글링을 하던 도중 flyway라는 라이브러리를 알게되어 적용시켜 보았습니다. Flyway 란 flyway는 데이터베이스의 형상관리를 목적으로 사용하는 툴입니다. Git을 사용하여 코드를 관리하는 것 같이 flyway는 데이터베이스의 DDL 버전을 쌓아가면서 이력을 ..