이 프로젝트는 전공 시간 과제로 진행한 사용자가 상품을 검색하고, 장바구니에 담고, 주문할 수 있는 간단한 온라인 쇼핑몰 웹 애플리케이션 입니다. Controller와 @RestController를 상황에 따라 적절히 분리하여 사용함으로써 뷰 템플릿 기반 페이지와 RESTfulAPI 기능을 동시에 구현하였습니다.
- IDE: IntelliJ IDEA Community
- JDK: OpenJDK 17
- Database: mysql 9.0.1
- Frontend: Thymeleaf, HTML, CSS, JavaScript
https://spark-plot-2cc.notion.site/API-134a56a2c7a1809fb020c02fddc198f7?pvs=4
1️⃣ 엔티티 간의 양방향 관계에서 무한 루프 및 StackOverflow 오류가 있어 @ToString(exclude="cart") >> 이런 형식으로 해결했다.
2️⃣ 대댓글 구조를 구현하면서 대댓글이 부모 댓글과 연결되지 않은 상태로 DB에 저장되서 오류가 생겼습니다. DB 설계에서 부모 댓글 ID를 명확히 설정하고, 댓글 작성 시 해당 부모 댓글 ID를 함께 저장하도록 하여 오류를 해결했다.
3️⃣ 뷰 템플릿과 데이터를 Model 매핑하여 HTML 페이지를 반환할 때 뷰가 뜨지 않는 에러가 자주 생겼었는데 뷰 템플릿에서 그 데이터를 올바르게 참조하지 않아서 생긴 오류였다.
- Java 17
- Spring Boot 3.3.5
- JPA (Hibernate)
- Lombok
1️⃣ 프로젝트 클론
git clone https://github.com/Jesuji/ShoppingMall_Project.git
cd ShoppingMall_Project2️⃣ 실행
http://localhost:8080- 리뷰 작성할 때 이미지 추가 기능
- OAuth 로그인 추가 (카카오 로그인 연동)
- 예외 처리에 대해 Custom Exception 만들기

