
✔️ [변경 사항]
- 개별 도서 조회 API의 “좋아요 여부”에 대한 JWT 사용 관련 설명 추가
- 장바구니 API 기능 구현에 따른 API 설계 설명 추가
- 장바구니 조회 API의 param 값 정정
- 장바구니에 담겨진 상품의 수량 컬럼명 변경 : count → quantity
- 주문예상상품 목록 조회 API의 상품 개수 조절 기능에 대한 개념을 명확히 하였음
- 장바구니 조회 API 에서 주문 예상 상품 목록도 조회할 수 있게 API를 합쳤음.
{
email : "사용자가 입력한 이메일",
password : "사용자가 입력한 비밀번호"
}{
email : "사용자가 입력한 이메일",
password : "사용자가 입력한 비밀번호"
}{
email : "사용자가 입력한 이메일"
}{
email : "이메일"
}{
email : "이전 페이지에서 입력했던 이메일",
password : "사용자가 입력한 새로운 비밀번호"
}// 전체 도서 목록에는 도서의 상세 정보를 모두 포함합니다.
// 필요한 데이터만 선별하여 구현 부탁드립니다.
[
{
id : 도서 id,
title : "도서 제목",
img : 이미지 id (picsum image #num),
summary : "요약 설명",
author : "도서 작가",
price : 가격,
likes : 좋아요 수,
pubDate : 출간일
},
{
id : 도서 id,
title : "도서 제목",
summary : "요약 설명",
author : "도서 작가",
price : 가격,
likes : 좋아요 수,
pubDate : 출간일
},
...
]{
id : 도서 id,
title : "도서 제목",
img : 이미지 id (picsum image #num),
category : "카테고리",
format : "포맷",
isbn : "isbn",
summary : "요약 설명",
description : "상세 설명",
author : "도서 작가",
pages : 쪽 수,
index : "목차",
price : 가격,
**likes : 좋아요 수,**
~~~~ **liked : boolean,**
pubDate : 출간일
}SELECT EXISTS 쿼리를 통해 likes 테이블에 특정 유저가 특정 책을 좋아요 추가했는지에 대한 데이터가 존재하는지 확인하여 응답할 수 있게 되었다.[
{
id : 도서 id,
title : "도서 제목",
img : 이미지 id (picsum image #num),
summary : "요약 설명",
author : "도서 작가",
price : 가격,
**likes : 좋아요 수,**
pubDate : 출간일
},
{
id : 도서 id,
title : "도서 제목",
img : 이미지 id (picsum image #num),
summary : "요약 설명",
author : "도서 작가",
price : 가격,
**likes : 좋아요 수,**
pubDate : 출간일
},
...
][
{
id = 카테고리 id,
name = 카테고리 이름
},{
id = 카테고리 id,
name = 카테고리 이름
},
...
]로그인할 때 받은 JWT (header “Authorization”)
JWT의 PAYLOAD 값을 읽는다 = 사용자의 id값을 읽을 수 있다.
// 일단은 토큰을 받아서 유저의 id값을 확인했다고 치고 기능구현을 진행한다.
로그인할 때 받은 JWT (header “Authorization”)
JWT의 PAYLOAD 값을 읽는다 = 사용자의 id값을 읽을 수 있다.
// 일단은 BODY로 토큰을 받아서 유저의 id값을 확인했다고 치고 기능구현을 진행한다.
{
book_id : 도서 id,
quantity : 구매 수량,
user_id : 유저 id
}장바구니 조회 / (new)(주문 예상 상품) 선택한 장바구니 상품 목록 조회 API
➡️ (new)선택한 장바구니 상품 목록 조회 기능을 장바구니 전체 조회 기능에 합쳤다.
로그인할 때 받은 JWT (header “Authorization”)
JWT의 PAYLOAD 값을 읽는다 = 사용자의 id값을 읽을 수 있다.
// 일단은 BODY로 토큰을 받아서 유저의 id값을 확인했다고 치고 기능구현을 진행한다.
{
user_id : 유저 id,
selected : [ cartItem_id, cartItem_id, ... ]
}[
{
cartItem_id : 장바구니에 담긴 도서 id,
book_id : 도서 id,
title : "도서 제목",
summary : "도서 요약",
quantity : 구매 수량,
price : 가격
},
{
cartItem_id : 장바구니에 담긴 도서 id,
book_id : 도서 id,
title : "도서 제목",
summary : "도서 요약",
quantity : 구매 수량,
price : 가격
},
...
][ cartItem_id, cartItem_id, ... ][
{
cartItem_id : 장바구니에 담긴 도서 id,
book_id : 도서 id,
title : "도서 제목",
summary : "도서 요약",
quantity : 구매 수량,
price : 가격
},
{
cartItem_id : 장바구니에 담긴 도서 id,
book_id : 도서 id,
title : "도서 제목",
summary : "도서 요약",
quantity : 구매 수량,
price : 가격
},
...
]{
items : [{
cartItem_id : 장바구니 도서 id,
book_id : 도서 id,
quantity : 수량
},{
cartItem_id : 장바구니 도서 id,
book_id : 도서 id,
quantity : 수량
}, ...],
delivery : {
address : "주소",
receiver : "이름",
contact : "010-0000-0000"
},
totalPrice : 총 금액
// 결제방법은 보류
}[
{
order_id : 주문 id,
create_at : "주문 일자",
delivery : {
address : "주소",
receiver : "이름",
contact : "전화번호"
},
bookTitle : "대표 책 제목",
totalPrice : 총 결제 금액,
totalQuantity : 총 수량
},{
order_id : 주문 id,
create_at : "주문 일자",
delivery : {
address : "주소",
receiver : "이름",
contact : "전화번호"
},
bookTitle : "대표 책 제목",
totalPrice : 총 결제 금액,
totalQuantity : 총 수량
},
...
][
{
book_id : 도서 id,
bookTitle : "도서 제목",
author : "작가명",
price : 가격,
quanity : 수량
},{
book_id : 도서 id,
bookTitle : "도서 제목",
author : "작가명",
price : 가격,
quantity : 수량
},
...
]