-
230202 TILTIL 2023. 2. 2. 19:42
어제 새로운 프로젝트를 시작했다
S.A.
용감한 불사조 마켓
www.notion.so
이번 프로젝트는 DB를 전부 구축하고 시작했는데,
sequelize를 쓰려니 이미 DB가 구축되었을땐 어떻게 해야하나? 싶더라.
그래서 찾아보니 sequelize-auto 라는 이미 생성된 DB를 보고 역으로 모델로 만들어주는 혜자 패키지가 있더라
이걸로 해결해부림
그런데 오늘 느낀것은 sequelize에 너무 종속되어서, DB를 다루는게 아니라 ORM 다루는 법을 배운 느낌이었다.
플젝 끝나면 ORM 없이 1차원적 쿼리로 DB 사용하는 법도 연습이 필요할 듯 싶다.
router.get("/user", myPageController.getUser);
routes 폴더의 *.routes.js 내부의 controller를 뿌려주는 구문인데,
저번 프로젝트 이후로 이걸 오늘 다시 쓰다가 문득 꺠달은것이 있어 기록하려고 씀
getAllLaundries = async (req, res, next) => { // const userId = res.locals.a.userId; const laundries = await this.ownerService.getAllLaundries(); return res.status(200).send({laundries}); }
이건 *.controller.js 의 클래스 내부의 메소드를 만드는 건데,
왜 함수형식이 아니라 변수에 익명함수를 할당하는 방식으로 구현할까? 하는 궁금증이 생겼었고,
controller에서만 저렇게 할당하지 이후 service나 repository에선
async getAllLaundries(){ const laundries = await this.ownerRepository.getAllLaundries(); if(laundries.length < 1){ return {msg: "세탁물이 없습니다."}; } return laundries.map(function (laundry){ return { laundryId: laundry.laundryId, laundryName: laundry.laundryName, laundryContent: laundry.laundryContent, laundryAddress: laundry.laundryAddress, laundryImg: laundry.laundryImg, requests: laundry.requests, status: laundry.status, }; }); }
함수형식이 잘만 구현되는 것으로 왜 그럴까? 튜터님께 여쭤봐야겠다 하다가 까먹어버린 것이었는데.
router.get("/user", myPageController.getUser); //1번 router.get("/user", myPageController.getUser()); //2번
생각해보니 1번 처럼 프로퍼티를 불러오는 식으로 썼었기 때문에 그런게 아닐까! 싶다
2번처럼 메소드를 불러오는 식으로 했다면 controller에도 함수형식으로 쓸 수 있었겠지
이거 시간날 때 검증해봐야겠다
'TIL' 카테고리의 다른 글
230204 TIL (0) 2023.02.04 230203 TIL (0) 2023.02.03 230122 TIL (0) 2023.01.22 230112 TIL (0) 2023.01.12 230107 WIL (0) 2023.01.12