Daily Front_Minhhk

my-agora-states Server 본문

Code개발일지

my-agora-states Server

Minhhk 2022. 12. 14. 17:03
자 테스트 통과 해봅시다!!!

지금 껏 배워온 것들을 활용하여 가이드에 따라 작성~~~

 

 


 

app.js

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({ strict: false }));

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;

 

router.js

// 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;

 

 

index.js

const { agoraStatesDiscussions } = require("../repository/discussions");
const discussionsData = agoraStatesDiscussions;

const discussionsController = {
  findAll: (req, res) => {
    // TODO: 모든 discussions 목록을 응답합니다.
    return res.status(200).json(discussionsData);
  },

  findById: (req, res) => {
    // TODO: 요청으로 들어온 id와 일치하는 discussion을 응답합니다.
    const { id } = req.params;
    const list = discussionsData.filter((data) => {
      //req.params.id가 string 형태로 들어온다. Number로 변환
      return data.id === Number(id);
    });
    return list.length !== 0
      ? res.status(200).json(list[0])
      : res.status(404).json("??");
  },
};

module.exports = {
  discussionsController,
};

'Code개발일지' 카테고리의 다른 글

JSON.stringify() // JSON.parse() // Tree UI  (0) 2022.12.16
[자료구조/알고리즘] 재귀 + 연습문제,,  (0) 2022.12.15
express refactoring MiniServer  (0) 2022.12.14
express, Middleware  (0) 2022.12.14
Web Server/ mininode Server  (0) 2022.12.08