오류 내용 Postman을 이용하여 Controller의 CreateResponse(회원 생성) 테스트를 진행하던 중 포스트맨에서는 아래와 같은 오류 메시지가, { "timestamp": "2023-11-02T03:58:01.298+00:00", "status": 400, "error": "Bad Request", "trace": "org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot construct instance of com.example.demo.model.dto.CreateRequest (although at least one Creator exists): cannot deserial..
오류 일지
오류 내용 JPA를 이용하여 Entity auto DDL을 위해 서버를 실행했는데 오류가 발생했다. 더보기 Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "\000d\000a create table [*]USER (\000d\000a id bigint not null,\000d\000a createdDt timestamp,\000d\000a name varchar(255),\000d\000a primary key (id)\000d\000a )"; expected "identifier"; SQL statement: create table USER ( id bigint not null, createdDt ti..
오류 내용 React로 Kakao Login을 구현하던 도중 위와 같은 에러가 발생했다. 오류 원인 및 해결 원인은 Link 태그를 사용하는 컴포넌트가 라우터로 감싸져 있지 않아 생긴 문제였다. app.js에서 컴포넌트를 라우터로 감싸서 해결했다. import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import App from './App'; import reportWebVitals from './reportWebVitals'; import KakaoLoginComponent from './components/KakaoLoginComponent'; import { Router } from 'rea..
오류 내용 리뷰를 포함한 Product List Repository를 테스트 하는 중 아래와 같은 오류가 발생했다. @Override public PageResponseDTO list(PageRequestDTO requestDTO) { QProduct product = QProduct.product; QProductImage productImage = QProductImage.productImage; QProductReview review = QProductReview.productReview; JPQLQuery query = from(product); query.leftJoin(product.images, productImage); query.leftJoin(review).on(review.produc..
오류 내용 Reply 수정 기능 Controller를 작성하고 postman 테스트를 하던 중 아래와 같은 오류를 맞닥뜨렸다. 오류 원인 및 해결 'Type definition error' 키워드로 구글링 했더니, 첫 번째 글에서 생성자가 없는 문제라고 한다. 다시 ReplyDTO를 살펴보니 테스트를 위해 Builder 어노테이션을 추가해놓고 빼는 걸 깜빡했다. Builder 어노테이션을 주석 처리 함으로써 간단하게 문제가 해결 됐다. 궁금해서 @Builder, @AllArgsConstructor, @NoArgsConstructor 세 어노테이션을 모두 넣어봤는데 이렇게 해도 정상적으로 동작이 된다. Builder를 쓸 거면 AllArgsConstructor, NoArgsConstructor를 꼭 같이 ..
오류 내용 Reply List를 구현하던 도중 페이지 버튼을 눌러도 페이지 변화가 없는 문제가 발생했다. pageNum 값은 누르는 페이지의 숫자대로 변경되는 걸 콘솔로 확인했는데 reply 페이지 정보를 콘솔로 찍어보니 4에서 변하지 않았다. 서버단의 문제인가 싶어서 레파지토리와 서비스, 포스트맨 테스트를 다시 해봤으나 정상적으로 실행되었다. 오류 원인 및 해결 코드를 살펴보다 보니 reply 페이지 값이 4에서 바뀌지 않는 게 last 값이 true로 고정되어 있어서임을 확인했다. ReplyWrapper의 movePage 함수에서 last 값을 false로 바꿔주는 코드를 추가해 간단하게 해결했다. const movePage = (num) => { data.page = num data.last = f..
오류 내용 Reply List 기능을 구현하던 도중, 자꾸 Axios BAD RESPONSE 500 에러가 떠서 로그를 살펴보니 Page index must not be less than zero 오류라고 떴다. 오류 원인과 해결 콘솔에 page를 찍으면 1이 나오고, 쿼리 스트링에도 page=1이라고 나오는데 오류가 뜨는 명확한 이유를 아직 모르겠지만 일단 ReplyServiceImpl에서 page가 0 이하일 때 1로 대체해주는 로직을 추가해줬더니 정상적으로 동작이 됐다. 오류 원인을 조금 더 살펴봐야겠다. @Override public PageResponseDTO list(ReplyPageReqeustDTO dto) { boolean last = dto.isLast(); int pageNum = d..