my-agora-states-server
const discussionsController = {
findAll: (req, res) => {
return res.status(200).json(discussionsData)
},
findById: (req, res) => {
const { id } = req.params; // filter & find 차이점 a = [1, 2, 3, 4, 5] => 짝수 filter = [2, 4], 짝수find = 2, 4
let discussion_id = discussionsData.find(discussion => discussion.id === Number(id)) // id가 string으로 나와서 숫자로 형변환 해줘야함
if(discussion_id) {
return res.status(200).json(discussion_id);
} else {
return res.status(404).send("404");
}
},
};
fetch("http://localhost:4000/discussions") // 아고라 스테이츠랑 서버 연동
.then((res) => {
return res.json();
})
.then((json) => {
agoraStatesDiscussions = json;
const ul = document.querySelector("ul.discussions__container");
render(ul);
});
추가적으로 res.json과 res.send의 차이점을 보면 매우 신기하다.
Bare Minimum Requirement Self Checklist
**my-agora-states-server**
- [O] `my-agora-states-server/app.js`
- [O] 모든 Origin, 경로에 대해 CORS 요청을 허용하게 미들웨어를 적용합니다.
- [O] POST 요청 등에 포함된 body(payload)를 구조화하기 위한 미들웨어를 적용합니다.
- [O] 서버 상태 확인을 위해 `/` 에서 상태 코드 200으로 응답합니다.
- [O] `discussionsRouter` 를 이용하여 `/discussions` 경로로 라우팅합니다.
- [O] `my-agora-states-server/router/discussions.js`
- [O] `GET /discussions`
- [O] `GET /discussions/:id`
- [O] `my-agora-states-server/controller/index.js`
- [O] `discussionsController.findAll`
- [O] `discussionsController.findById`
**my-agora-states-server 과제 제출 (Pull request)**
- [O] Pull request로 과제 제출
**my-agora-states-server 시작**
- [O] `package.json` 을 참고하여 나만의 아고라 스테이츠 서버를 로컬 환경에서 실행합니다.
**my-agora-states와 연동하기**
- [O] my-agora-states-server가 켜져있는지 확인합니다.
- [O] 로컬 환경에서 실행한 나만의 아고라 스테이츠 서버에서 discussions 데이터를 조회합니다.
노드는 항상 어렵다.
airline 과제에서 고생을 많이 해서 이번 과제는 쉽게 느껴짐😀
이제부터 내가 해야할 일은 노드복습과 리액트 감 잃지 않기