728x90
반응형
SMALL
Do it! Node.js 프로그래밍 입문 공부단 6일차 입니다.
바디파서 미들웨어
바디파서 미들웨어는 서버로 요청을 보낼 때 요청 본문에 담긴 것을 파싱하는 미들웨어 입니다. 파싱이란 요청할 때 전송된 자료를 프로그램에서 사용할 수 있는 형식으로 변환하는 것을 말합니다.
바디파서 함수
함수 | 설명 |
.json | JSON 형식의 본문을 파싱 |
.urlencoded | URL로 인코딩된 본문을 파싱 |
.raw | 가공되지 않은 바이너리 자료를 파싱 |
.text | 텍스트 형식의 본문을 파싱 |
익스프레스 4.16.0 버전부터는 바디파서 함수 중 일부가 익스프레스 자체에 포함되어서 바디파서 모듈을 따로 설치하지 않아도 됩니다. JSON형식이나 urlencoded형식을 처리하겠다면 다음과 같이 익스프레스 내장함수를 사용하면 됩니다.
// 아래 두 줄의 코드가 없으면 undefined가 뜸
app.use(express.json())
app.use(express.urlencoded({extended: true}))
만일 raw나 text 함수를 사용한다면 body-parser를 직접 설치한 후 다음과 같이 작성해야 합니다.
const bodyParser = require("body-parser")
app.use(bodyParser.raw())
app.use(bodyParser.text())
바디파서로 요청 본문파싱하기
routes/contactRoutes.js
const express = require("express")
const router = express.Router() // router 객체 인스턴스 생성
router
.route("/")
.get((req, res) => {
res.status(200).send("Contacts Page")
})
.post((req, res) => {
console.log(req.body)
const {name, email, phone} = req.body
if(!name || !email || !phone) {
return res.status(400).send("필수 값이 입력되지 않았습니다.")
}
res.status(201).send("Create Contacts")
})
router
.route("/:id")
.get((req, res) => {
res.status(200).send(`View Contact for ID: ${req.params.id}`)
})
.put((req, res) => {
res.status(200).send(`Update Contact for ID: ${req.params.id}`)
})
.delete((req, res) => {
res.status(200).send(`Delete Contact for ID: ${req.params.id}`)
})
module.exports = router
728x90
반응형
LIST
'Node.js' 카테고리의 다른 글
[Node.js] 노드제이에스 - 미들웨어 함수 만들기 (0) | 2024.02.08 |
---|---|
[Node.js] 노드제이에스 - 미들웨어를 사용해 오류처리 (0) | 2024.02.08 |
[Node.js] 노드제이에스 - 익스프레스 미들웨어 (0) | 2024.02.08 |
[Node.js] 노드제이에스 - 익스프레스의 요청 객체와 응답 객체 (0) | 2024.02.07 |
[Node.js] 노드제이에스 - 익스프레스에서 라우팅 (0) | 2024.02.07 |