node.js
, express
사용mongoDB
사용npm init
npm install express
npm install --save-dev nodemon
위의 코드를 터미널에 입력하여 node.js 서버를 생성하자. nodemon
은 코드의 변경이 일어날 때마다 알아서 재시작해주는 라이브러리이다.
가장 메인 엔트리 포인트로 app.js
파일을 생성해주고 포트를 5000번에서 열었다. Rest API 방식을 사용하므로 url & 요청방식별로 라우팅처리를 해줘야 하는데, 메인 app.js 파일에서 라우팅을 작성하면 코드가 너무 길어지므로 따로 쪼개는 것이 좋다.
const express = require("express");
const app = express();
app.listen(5000, () => console.log("Server is running at 5000 ✨"));
만약 에러가 있는 경우, 기본적인 에러 처리 로직을 app.js에 에러 함수 처리 미들웨어로 넣어주는 것이 좋다.
이 때 단순히 에러코드만 설정하여 응답을 보내는 것이 아니라, REST API에서 관습적으로 해주는 방식을 따라가려고 한다. API에서 보내는 모든 오류는 message 프로퍼티가 있어야 클라이언트가 해당 오류를 사용자에게 보내줄 수 있다. 따라서 여기에서도 에러가 나면 에러가 발생했다는 메세지를 전송할 수 있도록 다음과 같이 코드를 작성하였다.
app.use((error, req, res, next) => {
if (res.headerSent) {
return next(error)
}
res.status(error.code || 500);
res.json({message : error.message || "An unknown error occurred!"});
})