-
2024-02-02 Auditing 기능, Header 방식으로 토큰 사용개발 일지 2024. 2. 3. 21:29
Auditing 기능
만약 게시판 글에 작성 시간을 나타내고 싶었다면, 이전엔 이렇게 했다.
이렇게 Entity를 생성할 때 생성한 시간을 LocalDateTime.now 로 저장했다.
Spring Data JPA 에서는 위 기능을 더 간편하게 사용할 수 있게 Auditing 기능을 지원한다.
사용하기 이전에 Auditing 기능을 사용하려면 Application 클래스에 위 어노테이션을 달아 명시해 주어야 한다.
실제 사용은 이렇게 하게 된다.
@CreatedDate : 엔티티가 생성될 때 자동으로 날짜 및 시간을 등록한다.
@Temporal : 날짜 및 시간 유형을 지정하는데 사용된다.
이렇게 간단한 방법을 통해 처음 소개했던 코드를 간략하게 대신할 수 있다.
Header 를 통해 토큰을 응답하고, 요청받는 방법
return ResponseEntity.ok() .header(HttpHeaders.AUTHORIZATION, userService.login(requestDto)) .body(new ResponseDto("로그인 성공"));
ResponseEntity 의 사용방식이 생각보다 다양하고 느꼈다.
new 가 붙지 않은 이유가 궁금해서 알아봤는데, Reponse.ok() 라는 정적 메서드 안에 존재한다고 한다.
해당 메서드는 성공 HTTP 메서드를 200 OK 로 설정한다.
.header 는 헤더에 들어갈 값을 key, value 형태로 저장한다.
.body 는 성공 메세지와 함께 추가적인 정보를 넣을 수 있다.
@PostMapping("/new") public ResponseEntity<ResponseDto> createSchedule( @RequestHeader(value = "Authorization") String accessToken, @RequestBody ScheduleRequestDto requestDto){ log.info("할일카드 작성");
요청을 받을 때는 @RequestHeader 를 통해 받을 수 있으며, 받아올 키 값으로 (value = "Authorization") 을 사용하여
해당 토큰의 value를 받아올 수 있다.
ㄷ
'개발 일지' 카테고리의 다른 글
최종 프로젝트 회고 (ECommerce 프로젝트) (0) 2024.05.14 2024-02-20 테스트 코드의 범위 (0) 2024.02.20 2024-02-01 인증 에러 해결 (0) 2024.02.01 2024-01-31 JWT 로그인 검증 에러 (0) 2024.01.31 [팀 프로젝트] 팀 소개 사이트 회고 (3) 2023.12.26