🏷️ 백엔드 기초 마무리!
Node.js에서 라우팅은 요청이 왔을 때 URL과 메소드에 기반하여 처리 함수(콜백 함수)를 호출하는 과정이다. 원하는 경로에 따라 적절한 방향으로 경로를 안내해주는 것이다.
const express = require('express');
const router = express.Router();
router.get('/api/path', (req, res) => {
res.send('Response for GET request');
});
router.post('/api/path', (req, res) => {
res.send('Response for POST request');
});
Node.js에서는 자체적으로 개발한 서버 코드를 모듈로 만들어 다른 JavaScript 파일에서 재사용할 수 있다. module.exports
와 require()
를 통해 이루어진다.
// server.js
const express = require('express');
const app = express();
module.exports = app;
// index.js
const server = require('./server');
server.listen(3000);
간단하게 ERD 작성해보기
회원
user_id | password | name |
---|---|---|
test1 | 1234 | tester1 |
test2 | 5678 | tester2 |
채널
id | channel_title | user_id | sub_num | video_num | … |
---|---|---|---|---|---|
1 | 채널은방울방울 | test1 | |||
2 | 회원은방울방울 | test1 | |||
3 | 테스트는방울방울 | test2 |
(* 데이터베이스에서 이름 지을 땐 snake
방식 사용)
ERD 그리다보니 userId가 필요하다고 생각되어 API 수정(언제든지 맞지 않다고 생각되거나, 고도화 할 생각이 있다면 설계를 뜯어고치면 된다. 겁먹지 말자!)
채널 생성 API
요청: POST /channel
본문: { "channelTitle": "New Channel", "userId": "user1" }
응답: 201 Created
회원별 채널 조회 API
요청: GET /channels/user1
응답: 200 OK, 채널 리스트 반환
복잡한 if문을 간소화하고 함수를 통해 재사용 가능한 코드 조각을 만들어 예외 처리를 효과적으로 수행할 수 있다.
function notFoundChannel(res) {
res.status(404).json({ message: '채널을 찾을 수 없습니다.' });
}
if (!channel) {
notFoundChannel(res);
}