이렇게 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")
을 Entity
나 LocalDateTime
필드에 달아주어야한다고 했다.
나는 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();
}
}