본문 바로가기

분류 전체보기30

permitAll()로 요청한 api들이 JwtFilter를 거쳐서 가는 문제 permitAll()로 요청한 api들이 JwtFilter를 거쳐서 가는 문제문제 상황S3에 이미지 업로드 테스트 과정에서 해당 요청 api는 생각해보니 현재 jwt 필터를 거치지 않아도 될 api들이 모두 jwt 필터를 거치고 있었다. 권한 확인만 하지 않고 지나갔을 뿐.문제 원인이유는 간단하다. permitAll()로 했기 때문이다. permitAll()은 시큐리티 필터를 무시하는게 아니고 그냥 지나쳐 가라는 뜻이였다. 이 경우 시큐리티 필터 자체를 지나가지 않도록 ignore로 처리하면 된다. 하지만 BUT 그러면 spring security 자체를 쓰지 않게 되서 문제가 된다.해결 방안따라서 Jwt 필터를 만난경우 필터 로직을 거지치 않도록 Jwt 필터 class에 shouldNotFilter 메.. 2024. 4. 29.
예외 처리시 원하는 예외 응답값이 안오는 경우 예외 처리시 원하는 예외 응답값이 안오는 경우문제 상황스프링부트 3.2.5, openjdk 21s3 이미지 업로드 api 요청 시 컨트롤러에서 해당 요청을 받아서 S3Util의 업로드 메서드를 실행시키는 과정으로 진행된다. 또한 그 과정에서 spring security를 통해 JwtAuthenticationFilter와 JwtExceptionFilter를 만든 상황이고, 현재 s3 이미지 업로드 api는 permitAll()로 되어 있다.S3에 이미지 객체를 업로드 할때, 버킷명을 잘못 적었을 때의 예외처리를 구현했습니다. 해당 예외시 _INTERNAL_SERVER_ERROR_를 발생시켰는데, _INVALID_TOKEN_가 발생했다.S3Util upoad 코드@Slf4j@Component@Required.. 2024. 4. 29.
@ColumnDefault 동작 안함(사실 동작함. 단지 적용이 안됐을 뿐.) @ColumnDefault 동작 안함(사실 동작함. 단지 적용이 안됐을 뿐.) 문제 상황 요청 DTO를 받고 이를 통해 객체를 생성하여 save하는 과정에서 @ColumnDefault로 지정한 필드에 값이 들어가지 않는 상황이 발생했다. (요청 DTO에서는 @ColumnDefault로 지정한 필드가 없다) DB에 넣고자 하는 객체 에러 로그 문제 원인 필드가 @Column(nullable = false)으로 지정되어 있고, @ColumnDefault는 사용하지 않도록 테이블을 생성한 상태에서, ddl-auto: update 를 하고 필드에 새로 @ColumnDefault를 해주어도 실제 테이블에는 반영이 되지 않았다. 이로 인해서 @DynamicInsert 를 하여 null인 필드는 insert문에 포함.. 2024. 4. 15.
코틀린을 사용한 스프링 프로젝트에서 자바를 사용 할 때 자바 파일을 못 찾는 오류 코틀린을 사용한 스프링 프로젝트에서 자바를 사용 할 때 자바 파일을 못 찾는 오류 문제 상황 코틀린을 이용한 스프링 프로젝트에서 BalanceController 를 자바로 작성 했을때, postman으로 api 테스트 시 해당 컨트롤러 내의 url를 찾지 못했다. @RestController @RequestMapping("/account") public class BalanceController { private final Database db; public BalanceController(Database db) { this.db = db; } @GetMapping("{id}/balance") public Account balance(@PathVariable long id) { return db.bala.. 2024. 2. 24.