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!"});
})