ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • my-agora-states-server
    FE 2023. 6. 7. 21:58
    • my-agora-states-server/app.js
      • 모든 Origin, 경로에 대해 CORS 요청을 허용하게 미들웨어를 적용합니다.
      • POST 요청 등에 포함된 body(payload)를 구조화하기 위한 미들웨어를 적용합니다.
      • 서버 상태 확인을 위해 GET / 에서 상태 코드 200으로 응답합니다.
      • discussionsRouter를 이용하여 /discussions 경로로 라우팅합니다.
    • my-agora-states-server/router/discussions.js
      • GET /discussions
        • 모든 discussion 목록을 조회하는 라우터를 작성합니다.
      • GET /discussions/:id
        • discussion 하나를 조회하는 라우터를 작성합니다.
    • my-agora-states-server/controller/index.js
      • discussionsController.findAll (모든 discussion 목록 조회)
      • discussionsController.findById (discussion 하나를 조회)

     

    app.js

    // TODO: cors를 적용합니다.
    app.use(cors());
    // TODO: Express 내장 미들웨어인 express.json()을 적용합니다.
    app.use(express.json({strict:false}));

     

     

    ./router/discussions.js

    // TODO: 모든 discussions 목록을 조회하는 라우터를 작성합니다.
    router.get('/', findAll);
    // TODO: :id에 맞는 discussion을 조회하는 라우터를 작성합니다.
    router.get('/:id', findById);

     

     

    ./controller/index.js

    const discussionsController = {
    findAll: (req, res) => {
    // TODO: 모든 discussions 목록을 응답합니다.
    // const { author } = req.query;
    // if (author) {
    // res.json(discussionsData,filter((item) => item.author === author));
    // } else {
    // res.json(discussionsData);
    // }
    res.json(discussionsData)
     
    },

    findById: (req, res) => {
    // TODO: 요청으로 들어온 id와 일치하는 discussion을 응답합니다.
    const { id } = req.params;
    const data = discussionsData.filter(discussion => discussion.id === Number(id));
    if(data) {
    return res.status(200).json(data)
    } else {
    return res.status(404).send('Not found');
    }
    }
    };

    module.exports = {
    discussionsController,
    };

     

    'FE' 카테고리의 다른 글

    Section2 회고  (1) 2023.06.08
    기술면접  (0) 2023.06.08
    StatesAirline Server  (0) 2023.06.05
    RefactorExpress  (0) 2023.06.02
    CORS  (0) 2023.06.01
Designed by Tistory.