개발바닥곰발바닥
728x90

LocalDateTime Format 설정하기

Response DTO에 LocalDateTime가 포함되었을 때 포맷을 설정해주지 않으면 yyyy-MM-dd'T'HH:mm:ss 형식으로 전송하게 된다. 이걸 클라이언트에서 그대로 보여주게 되면 2022-08-26T22:00:00 처럼 사용자가 보기에 어색할 수 있는 형식이므로 Format을 변경해주는 것이 좋다.

포맷을 변경하는 방법은 아주 간단한데, LocalDateTime 변수에 @JsonFormat 어노테이션만 추가해주면 된다.

예제 코드

게시글에 대한 Response DTO가 있을 때, Response Body에 게시글 작성 일자를 포함하려고 한다.

이 때 포맷은 yyyy-MM-dd HH:mm:ss로 정하고 싶으면 @JsonFormat 어노테이션을 사용하면 된다.

public static class Response {
   private Long id;
   private String title;
   private Long boardId;
   private Long writerId;
   private String writerLoginId;
   @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
   private LocalDateTime writeDate;
...
}

결과

Postman으로 해당 API를 호출한 결과, writeDate가 미리 정한 포맷으로 변환되어 응답되는 것을 확인할 수 있다.

"data": {
        "content": [
            {
                "id": 67,
                "title": "안녕하세요",
                "boardId": 1,
                "writerId": 94,
                "writerLoginId": "wnsrl1234",
                "writeDate": "2022-07-30 01:58:35",
                "views": 179,
                "replyCount": 22,
                "imagePath": "post-67.png",
                "tags": [
                    "공무원"
                ]
            }
        ],
        ...

 

728x90
profile

개발바닥곰발바닥

@bestinu

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!