[TIL]230718 LocalDateTime 이 배열...? 이게 뭐람?

CountryGirl·2023년 7월 18일
0

TIL

목록 보기
27/80

📌 문제점 & 시도 & 해결

이렇게 MessageResponseDto를 만들었다.

public class ReceiveMessageResponseDto {
    private String contents;
    private String messageGiver;
    private LocalDate receiveDay;
    public ReceiveMessageResponseDto (Message message) {
        this.contents = message.getContent();
        this.messageGiver = message.getMessageGiver().getUserId();
        this.receiveDay = message.getCreatedAt();
    }
}

그리고 Postman으로 확인을 해보니...
왜.. createdAt이 배열로........

{
	"contents": "안녕! 마니또야!",
	"messageReceiver": "parkMac12",
	"sendDay": [
		2023,
		7,
		18
	]
}

이렇게 나왔다.......

나는 처음 본다.
지금까지 그냥 createAt, modifiedAt 이런 TimeStamp를 찍었을 때 배열로 나온 적이 없었는데 이상하게 배열로 나왔다...

찾아보니...

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "Asia/Seoul")

EntityLocalDateTime 필드에 달아주어야한다고 했다.


나는 Entity에 달아주었지만 똑같이 배열로 나오는 문제가 발생했고,
LocalDateTime 필드에 달아주었을 때 해결할 수 있었다.

public class ReceiveMessageResponseDto {
    private String contents;
    private String messageGiver;
    
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "Asia/Seoul")
    private LocalDate receiveDay;
    
    public ReceiveMessageResponseDto (Message message) {
        this.contents = message.getContent();
        this.messageGiver = message.getMessageGiver().getUserId();
        this.receiveDay = message.getCreatedAt();
    }
}

✅ Reference

do-hoon.log : LocalDateTime 배열로 나오는 문제

profile
💻🌾시골소녀의 엉망징창 개발 성장일지🌾💻 (2023.05.23 ~)

0개의 댓글