InvalidDefinitionException 해결

귀찮Lee·2022년 8월 28일
0

Error Handling Log

목록 보기
6/8

◎ 문제 상황

  • Controller를 구현하고 Postman으로 데이터가 전달되는지 확인하는데, 데이터가 전달되지 않고 InvalidDefinitionException 발생

◎ 해결 방안

  • 문제 원인

    • ResponseEntity에 DTO를 넣어 HTTP Response를 보내는데, DTO에 Getter가 존재하지 않아서 DTO에 있는 정보를 가져올 수가 없음
  • 해결 방법

    • 에러 메세지를 보고, @Getter 또는 @NoArgsConstructor 추가
    @Getter
    public class MultiResponseDto<T> {
    
        private List<T> data;
        private PageInfo pageInfo;
    
        public MultiResponseDto(List<T> data, Page page) {
            this.data = data;
            this.pageInfo = new PageInfo(page.getNumber() + 1,
                    page.getSize(), page.getTotalElements(), page.getTotalPages());
        }
    
        @AllArgsConstructor
        @Getter
        public class PageInfo {
            private int page;
            private int size;
            private long totalElements;
            private int totalPages;
        }
    
    }
    
    @AllArgsConstructor
    @Getter
    public class SingleResponseDto<T> {
        private T data;
    }

◎ 추가 자료

profile
배운 것은 기록하자! / 오류 지적은 언제나 환영!

0개의 댓글