상세 컨텐츠

본문 제목

우리집 냉장고 백엔드 질문

카테고리 없음

by golduny_zoo 2022. 1. 18. 15:21

본문

728x90

질문 : api 파일을 어떤식으로 관리해야하는지? (post, user관련 api파일 관리)?

 

1. 폴더를 분리하는 이유 : 한 곳에 몰아서 코드를 작성해도 되지만,
코드의 양이 방대해지고 추가할 기능이 많아진다면 한 곳에 넣은 코드 보다
폴더를 분리해서 작성하는게 더 효율 적이에요.


2. 모델을 따로 지정해서 정의해야 하는 이유 : “테이블이 이미 DB에 있는데 왜 또 따로 정의해야하지?” 이런 의문이 있을 수 있어요 저도 처음에 그랬으니까요 :)
정의하는 이유, MySQL을 백엔드 단에서 더 쉽고 간편하게 쓸 수 있게 도와주는 ‘ORM’이라는 애 때문이에요. RDB에 단순 쿼리를 날리는 것의 한계가 있기 때문에,
쿼리와 ORM을 섞어 쓰게 되는 것입니다!
우리가 지금 쓰는 ORM은 RDB 전용 ‘Sequelize’ 라는 ORM이에요.
구글에 “nodeJs Sequelize”라고 검색하면 좋은 예시가 많이 있어요.

- models/
모델링을 정의하는 곳이에요. 유저의 모델이면 앞글자는 대문자를 띄고 User.js
이렇게 지어준 후에 Sequelize의 방식으로 데이터타입을 명시해준 후
models/index.js에 작성한 파일을 import해주세요.
이렇게 하면 테이블 생성 끝이에여

 

- service/ 
API 로직에 관련된 폴더로, 모델명과 맞춰서 파일명을 지어주는 걸 권장해요.
예를 들어 모델명이 User면 service 파일명은 user로 짓는게 좋아요.
user.js라고 하면 회원가입, 마이페이지 등의 api가 있겠죠? api를 다 작성 후에
모듈을 exports 해주고, 여기서도 마찬가지로 service/index.js에 import 해줘요

 

- routes/
routes는 언니가 말했던 것처럼, get/post/put/delete 등 http method를
정의하는 곳이에요. service/index.js 에서 명시해뒀던 service/user를
import해주고, http method를 정의해주세요.

 

이해할 때 까지 두세번 읽어 보자!
인아도 지환이도 부족한 나 때문에 고생이 많다...ㅠㅠ