Code States
Front-end boost camp
Today
I
Learned
🐰 39일차!
const { agoraStatesDiscussions } = require("../repository/discussions");
const discussionsData = agoraStatesDiscussions;
const discussionsController = {
findAll: (req, res) => {
// TODO: 모든 discussions 목록을 응답합니다.
res.status(200).send(discussionsData)
},
findById: (req, res) => {
// TODO: 요청으로 들어온 id와 일치하는 discussion을 응답합니다.
const { id } = req.params;
const foundDiscussion = discussionsData.find(
(discussion) => discussion.id === Number(id)
);
if (foundDiscussion === undefined) {
res.status(404).send('Not Found');
}
res.status(200).send(foundDiscussion)
}
};
module.exports = {
discussionsController,
};
// TODO: discussions 라우터를 완성합니다.
const { discussionsController } = require('../controller');
const { findAll, findById } = discussionsController;
const express = require('express');
const router = express.Router();
// TODO: 모든 discussions 목록을 조회하는 라우터를 작성합니다.
router.get('/', findAll);
// TODO: :id에 맞는 discussion을 조회하는 라우터를 작성합니다.
router.get('/:id', findById);
module.exports = router;
const express = require('express');
const app = express();
const cors = require('cors');
const morgan = require('morgan');
// morgan 미들웨어가 세팅되어 있습니다.
// HTTP 요청 logger를 편리하게 사용할 수 있는 미들웨어 입니다.
app.use(morgan('tiny'));
// TODO: cors를 적용합니다.
app.use(cors());
// TODO: Express 내장 미들웨어인 express.json()을 적용합니다.
app.use(express.json());
const port = 4000;
const discussionsRouter = require('./router/discussions');
// TODO: app.use()를 활용하여 /discussions 경로로 라우팅합니다.
app.use('/discussions', discussionsRouter)
app.get('/', (req, res) => {
// 서버 상태 확인을 위해 상태 코드 200과 함께 응답을 보냅니다.
res.status(200).send('fe-sprint-my-agora-states-server');
});
const server = app.listen(port, () => {
console.log(`[RUN] My Agora States Server... | http://localhost:${port}`);
});
module.exports.app = app;
module.exports.server = server;
지옥같던 섹션2도 마무리 되어 간다. 솔직히 많은 부분을 모두 이해하지 못했지만 구매한 유데미 타강의를 천천히 보며 react를 다시 체득해야할 것 같다. 서버 관련해서는 그저 편리하게 사용하던 인터넷, 웹페이지 등이 내 눈앞에 나타나기까지 어떤 과정을 거치는가에 대한 흐름을 알 수 있었다.