Postman 으로 테스트 중
작성, 전체 조회, 선택 조회, 수정, 삭제 모두에서 null 값이 반환됐다.
특히 '게시글 삭제' 기능에서는 "게시글을 삭제했습니다." 라는 메시지만 반환되도록 하면 됐지만
그와 함께 다른 데이터들이 null값과 같이 반환되는 문제가 발생했다.
이 어노테이션 이름에서 알 수 있듯이,
JSON 데이터 형태에서 null 값을 포함시키지 않는 어노테이션이다.
ResponseDto 에 해당 어노테이션 하나를 추가해줬다.
@Getter
@JsonInclude(JsonInclude.Include.NON_NULL)
public class BoardResponseDto {
private Long id; // 게시글 구분을 위한 id 값
private String title; // 제목
private String username; // 작성자명
private String contents; // 작성 내용
private LocalDateTime createdAt; // 게시글 생성 날짜
private LocalDateTime modifiedAt; // 게시글 수정 날짜
private String msg; // 게시글 삭제 시, 삭제 성공 메시지
public BoardResponseDto(Board board) {
this.id = board.getId();
this.title = board.getTitle();
this.username = board.getUsername();
this.contents = board.getContents();
this.createdAt = board.getCreatedAt();
this.modifiedAt = board.getModifiedAt();
}
// 게시글 삭제 시, 삭제 성공 메시지
public BoardResponseDto(String msg) {
this.msg = msg;
}
}
특히, 게시글 삭제에서 차이가 명확히 드러났다.
참고: [Spring] 객체의 NULL 필드 노출하지 않기 :: @JsonInclude(JsonInclude.Include.NON_NULL)