ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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를 받아올 수 있다.

Designed by Tistory.