반응형
express.json()
보통 app.use(express.json()) 형태로 쓰이는 미들웨어는 Express 애플리케이션에서 JSON 형태의 요청(request) body를 파싱(parse)하기 위해 사용되는 미들웨어(middleware)입니다. 따라서, Express 애플리케이션에서 JSON 형태의 요청 body를 받아야 한다면 이 코드를 사용해야 합니다.(사용하지 않을 경우 인간이 알기 어려운 용어로 전달되거나 예기치 못한 에러가 발생할 수 있습니다.)
예를 들어, 클라이언트에서 서버로 JSON 형태의 데이터를 전송할 때, Content-Type 헤더를 application/json으로 설정하고 요청 body에 JSON 데이터를 포함하여 전송합니다. 이때, app.use(express.json())을 사용하면 서버에서 이 JSON 데이터를 파싱하여 JavaScript 객체로 사용할 수 있습니다.
다만, 만약에 요청 body가 JSON이 아니라 form 데이터나 멀티파트 데이터 등 다른 형태의 데이터라면 express.urlencoded()나 multer 등의 미들웨어를 사용해야 합니다.
** 사용 예시
const express = require('express');
const app = express();
// JSON 형태의 요청 body를 파싱하기 위해 express.json() 미들웨어를 사용합니다.
app.use(express.json());
// POST /users 요청을 처리하는 라우터 핸들러입니다.
app.post('/users', (req, res) => {
// 요청 body에서 JSON 데이터를 추출하여 사용할 수 있습니다.
const { username, email } = req.body;
// 추출한 데이터를 이용해 새로운 사용자를 생성하고, 응답으로 결과를 전송합니다.
//createUser 함수는 외부에서 따로 정의되어 호출되는 함수입니다(사용자 정의).
createUser(username, email).then(result => {
res.send(result);
}).catch(err => {
res.status(500).send({ message: 'Error creating user' });
});
});
// Express 애플리케이션을 3000번 포트에서 실행합니다.
app.listen(3000, () => {
console.log('Server listening on port 3000');
});
반응형
'백엔드 > 노드' 카테고리의 다른 글
[NodeJS] 이메일의 도메인이 존재하는지 확인해보자 (0) | 2024.02.19 |
---|---|
[nodejs] 엑셀 파일을 json 데이터로 변환 해보기 (0) | 2023.07.09 |
[node.js] morgan "HTTP 요청과 응답에 관련한 정보를 기록하는 미들웨어" (0) | 2023.03.16 |
[node.js] node.js 에서 express서버를 구축할 때 포트 지정 시 process.env.PORT 를 사용하는 이유 (0) | 2023.03.15 |
[node.js] express.urlencoded 에 대한 이해 (0) | 2023.03.14 |