[WEB SERVER]Middleware
미들들웨어(Middleware)는 요청(Request)에 필요한 기능을 더하거나, 문제를 발견하고 밖으로 걷어내는 역할을 한다.
자주발생
- POST 요청 등에 포함된 body(payload)를 구조화할 때(쉽게 얻어내고자 할 때)
- 모든 요청/응답에 CORS 헤더를 붙여야 할 때
- 모든 요청에 대해 url이나 메서드를 확인할 때
- 요청 헤더에 사용자 인증 정보가 담겨있는지 확인할 때
case 1
let body = [];
request
.on("data", (chunk) => {
body.push(chunk);
})
.on("end", () => {
body = Buffer.concat(body).toString();
});
미들웨어 사용
Express v4.16.0 부터 Express 내장 미들웨어인 express.json()을 사용
const jsonParser = express.json();
// 생략
app.post("/api/users", jsonParser, function (req, res) {});
express.json() 미들웨어 사용에 에러 -> express.json([options])/https://expressjs.com/ko/4x/api.html#express.json
strict - 배열 및 개체 수락만 활성화 또는 비활성화합니다. 비활성화되면 JSON.parse가 허용하는 모든 것을 허용합니다.
const jsonParser = express.json({ strict: false });
// 생략
app.post("/api/users", jsonParser, function (req, res) {});
case 2
댓글남기기