티스토리 뷰
- Express.js 기본 설정:
- Express.js는 Node.js 환경에서 서버 사이드 애플리케이션을 개발할 때 유용한 웹 프레임워크이다.
- express.Router()를 사용하여 여러 API 경로를 각각의 라우터로 나누어 관리할 수 있다.
- app.js에서 이 라우터들을 불러와 전체 서버 설정을 관리한다.
- express.json()을 사용해 JSON 형태의 데이터를 처리할 수 있다.
- API 라우터 구성:
- 회원 API (/users): 사용자 가입, 로그인, 비밀번호 초기화 등을 처리하는 경로를 정의한다.
- 회원가입: POST /users/join - 사용자 이메일과 비밀번호를 받아 회원가입 처리.
- 로그인: POST /users/login - 이메일과 비밀번호로 로그인 처리.
- 비밀번호 초기화 요청: POST /users/reset - 비밀번호 초기화 요청.
- 비밀번호 초기화: PUT /users/reset - 비밀번호 초기화 처리.
- 도서 API (/books): 도서 관련 정보 조회를 처리하는 경로를 정의한다.
- 전체 도서 조회: GET /books - 모든 도서 목록을 반환.
- 개별 도서 조회: GET /books/:id - 특정 도서의 세부 정보를 조회.
- 카테고리별 도서 목록 조회: GET /books?categoryId=x&new=true - 특정 카테고리의 도서를 조회하고, 최신 도서를 필터링.
- 좋아요 API (/likes), 장바구니 API (/carts), 주문 API (/orders):
- 각 API는 사용자가 책에 대한 좋아요를 표시하거나 장바구니에 책을 담고 주문을 처리할 수 있도록 관리된다.
- 회원 API (/users): 사용자 가입, 로그인, 비밀번호 초기화 등을 처리하는 경로를 정의한다.
- 서버 실행 및 관리:
- dotenv를 사용하여 환경 변수를 관리하고, process.env.PORT로 포트를 설정해 서버를 실행한다.
- 각 라우터 파일은 module.exports를 통해 외부에서 불러와 사용되며, app.use()로 각 경로에 맞는 라우터를 연결한다.
- DB 설계:
- DB 설계를 위해 DB 다이어그램을 작성하여 각 테이블 간의 관계를 시각적으로 표현하고, MySQL Workbench를 사용해 실제 DB 구조를 구현한다.
오늘 배운 점 요약
오늘은 Express.js를 이용하여 API 설계를 배우고 구현하는 방법을 익혔다. 주된 목표는 회원 관리, 도서 조회, 장바구니, 주문 처리와 같은 여러 가지 기본적인 API를 설정하는 것이다. 각 API의 라우터를 별도의 파일로 관리하고, 이를 app.js에서 불러와 사용하도록 구현했다.
핵심 내용:
- Express.js 설정:
- 서버 환경을 구성하고, 라우터를 분리하여 각 API를 담당하는 별도의 모듈로 관리하는 방법을 배웠다.
- express.Router()로 각 경로를 정의하고, app.js에서 이를 결합하여 서버를 구동하는 방식이다.
- API 설계 및 구현:
- users, books, likes, carts, orders 등의 API를 설계하고, 각 API에 대한 라우터를 작성하여 구현했다.
- 각 라우터에서 HTTP 메서드를 적절히 활용해 요청을 처리했다.
- 요청과 응답 처리:
- 각 API는 클라이언트의 요청을 받아 처리하고, 적절한 응답을 반환하는 방식으로 구성되었다.
- 예를 들어, 회원가입을 위한 POST /users/join API는 사용자의 이메일과 비밀번호를 받아 회원가입을 처리하고, 로그인은 POST /users/login을 통해 이메일과 비밀번호를 비교해 인증한다.
- DB 설계:
- DB 다이어그램을 작성하여 테이블 간 관계를 시각화하고, MySQL Workbench에서 이를 구현하여 실제 DB를 설정하는 방법도 배웠다.
- 환경 변수 관리:
- dotenv 패키지를 사용하여 환경 변수를 관리하고, 이를 통해 서버 포트나 DB 연결 정보 등을 외부 파일로 관리하는 방법을 익혔다.
