Wecode - Project 3 (부트캠프)/Project 3 과정 46

Project 3: [주문 api] - if 에러 핸들링, transaction

에러 핸들링 1. 2. 2-1) 느낌표 위치 2-2) 공백 주의 참고 3. 수량이 36개 남았을 때 남은 36개 다 넣었을 때 장바구니 0개가 됨 장바구니 carts 테이블에 원래 있던 carts id 2 가 사라짐 --> 재고가 없기에 36개 담았던 장바구니에서 36개를 샀으니 없어지는 것 그리고 update가 아닌 delete 쿼리문이 쓰이는 걸 잘 확인 4. 근데 장바구니에 0개라서 주문이 들어가면 안 되는데, 위의 주문 번호 order id = 34가 orde 테이블에 생겼다는 것. 주문이 되니까 에러핸들링 해야함. orderService.js 에서 _ create order 함수에서 에러 핸들링 카트에 없는 거 주뮨 카트 수량보다 많이 주문 trasaction -> 주문 디테일 실패ㅙㅛ는데도 주..

Project 3 : 주문 api postman 통신 방법 (if 에러 핸들링 x, transactionx) + 에러 해결 법

vscode의 mysql 확장자 사용 -> 주문 결제 시 간편 1. carts 수량 넉넉히 넣어두고 (테스트 해야 하니까) ( + 버튼 누르면 됨) 2. user 만들고 (created at dms 자동생성되니 냅두고) 3. product 만들고 (아래에 product_category_id 참고해서 넣고) 4. 그러다가, 아 하고 product categories 만들고 (저장하면서 이동 해야 한다 _ 연두색 체크 버튼 _ 다 달라감) 5. body 에 보내야 하는 게 payment id도 있어서 만들고 6. 만든 테이블 참고해서 어떤 user 인지 userid , payment id, product id 는 내가 만든 각 user / payment /product 테이블 참고해서 넣고 total pri..

mysql 에러 팁

1. 대부분이 칼럼명, key 명에 s 를 붙였냐 안 붙였냐 이다 에러에 힌트로, field_list: 칼럼명에 s 가 없다 clause : 절에 s가 없다 알려준다 또 다른 's'를 안 붙여서 생긴 오류 팁 : 쿼리문 쓸 때, 위에 앞서서 desc 혹은 select * from 테이블명 해서 보는 면서 치면 실수가 줄어든다 2. 퀴리문을 더 찍어내야 할 때, 조건이 잘못되거나 그럴 때, left join / where 절 등 일단 쿼리문을 SELECT actors.id AS actor_id, actors.name AS actor_name, actors.agency_id, movies_actors.movie_id, movies_actors.actor_id FROM actors LEFT JOIN movie..

[sql 복습] mysql 과제 2-1, 2-2번 ; SQL Advanced

과제를 위한 안내- 준비단계 다운로드 파일 클릭 시, 아래 사진과 같은 페이지가 나오는데, 페이지를 다른 이름으로 저장 sql_advanced_assignment 를 download 후, .sql 파일이 있는 경로로 가서 sql_advanced_assignment 있는 '파일'로 가서, > terminal 켜서 sql_advanced_assignmen가 다운로드 된 파일로 ('다운로드' 파일에 있으니 ; cd download) > 거기에서 명령어 입력 mysql -u root -p sql_advanced_assignment < sql_advanced_assignment.sql 입력 mysql 비번 치고 그럼 vscode 아무거나 열면, sql_advanced_assignment 데이터베이스가 들어가 있다..

Project 3- 주문 api. ->작성 후 수정

팁: 작성 시 이렇게 순서대로 틀어놓고 하니 편했음. 수정 전 CRUD 에서 getPosts createPosts updatePosts deletePosts 하는 거처럼 이렇게 나누어서 했는데, controller에서는 하나의 함수 service에서는 하나의 함수 dao에서 쫙 작동하게 하는 거라고. 그래서 전격 다시 수정ㅎ. orderController.js 1) orders table 주문 정보 저장 2) orderDetails table 주문 정보 저장 3) 장바구니 삭제 이렇게 했지만, const createOrders const createOrderDetails const DeleteCartsProduct 이렇게 3개로 나누는 게 아니라 controller는 try - catch 만 다뤄주는 곳..

Project 3 - [주문 api] postman 통신 시도 + 그 전에 거쳐야 할 작업들

Postman 모음집 (프론트에 보내는 mock data, api 참고) Postman 모음집 (프론트에 보내는 mock data, api 참고) key 에 해당되는 것은 카멜로 할지 스네이크로 할지 정하면 됨 . value 값은 id에 해당될 때는 " " 없이 숫자만. 문자열일 땐, " " 으로 string으로. Project 3 - 프론트에 보내줄 api 기능 문서 1. order 테이블 pm-developer-justdoit.tistory.com 그 전에 거쳐야 할 작업 중에 하나는, middleware 폴더의 auth.js에서 userId를 블러오게 하는 것 middleware 폴더의, auth.js 파일 > 토큰을 담아주는 것인데, token 에서 불러오게! 그러면, controller 에서 달..

Project 3 - 프론트에 보내줄 api 생각하는 과정

내가 맡은 주문/결제 api 과정은 아래와 같이 3개 이지만, 기능 단위 api이기에, 프론트와 통신은 한번만 해서 필요한 데이터를 한번에 받으면 된다. 주문 api 과정 1. order 테이블에 '주문 정보' 저장 [post] INSERT INTO orders (total price, shipping_method, payment_id) VALUES ("2000원", "택배배송", 5 ) shipping_method: 택배배송 / 방문수령 POST { "total price": "2000원", "shippingMethod" : "택배배송", "paymentId" : 1 } 형식 참고 Postman 모음집 (프론트에 보내는 mock data, api 참고) key 에 해당되는 것은 카멜로 할지 스네이크로 ..