# Node.js Express ๋ฏธ๋ค์จ์ด body-parser
ํด๋ผ์ด์ธํธ POST request data์ body๋ก๋ถํฐ ํ๋ผ๋ฏธํฐ๋ฅผ ํธ๋ฆฌํ๊ฒ ์ถ์ถํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
body-parser๋ ์์ฒญ์ ๋ณธ๋ฌธ์ ํด์ํด์ฃผ๋ node.js์ ๋ชจ๋, ๋ฏธ๋ค์จ์ด๋ค.
๋ณดํต form
๋ฐ์ดํฐ๋ Ajax
์์ฒญ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ค.
# Install body-parser
npm install body-parser
yarn add body-parser
2
# How to Use
/* express */
const express = require('express');
const app = express();
/* body parser */
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
2
3
4
5
6
7
urlencoded
๋ฉ์๋์ ({ extended: true })
์ต์
์ด ์๋ค. ํด๋น ์ต์
์ด false ๋ฉด ๊ธฐ๋ณธ์ผ๋ก ๋ด์ฅ๋ ๋
ธ๋์ querystring ๋ชจ๋์ ์ฌ์ฉํ๊ณ , true๋ฉด ๋ณ๋์ ์ค์น๊ฐ ํ์ํ qs ๋ชจ๋์ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ์คํธ๋ง์ ํด์ํ๋ค.
# POST ์์ฒญ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์๋ฒ์ ์ ์กํ๋ ๋ฒ
POST ์์ฒญ์ผ๋ก ํด๋น ๊ฒฝ๋ก์ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ์ ์ ์กํ ์ ์๋ค.
app.post('/add', (req, rep) => {
console.log(req.body);
});
2
3
POST ์์ฒญ์ผ๋ก ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ form
๋ฐ์ดํฐ๋ฅผ ๊ฒฝ์ฐ form HTML๋ ์ธํ
์ด ํ์ํ๋ค.
form์ action๊ณผ method ์์ฑ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ ๊ผญ ํ์ํ ์์ฑ์ด๋ค.
action
์ ์ด๋ค ๊ฒฝ๋ก๋ก ์์ฒญํ ๊ฒ์ธ์ง ์ค์ ํ๋ ์์ฑ์ด๋ฉฐ, method
์์ฑ์ GET/POST ์ค ์ด๋ค ์์ฒญ์ ํ ๊ฒ์ธ์ง ์ค์ ํ๋ ์์ฑ์ด๋ค.
์ถ๊ฐ๋ก input
์์์ name
์์ฑ์ ๊ผญ ์ถ๊ฐํด์ฃผ์ง ์์ผ๋ฉด ์๋ฒ๋ ์ด ๋ฐ์ดํฐ๊ฐ ์ด๋ค input์์ ์ ๋ฌ๋ ๋ฐ์ดํฐ์ธ์ง ์ ์ ์๊ธฐ ๋๋ฌธ์ ๊ผญ ์ค์ ํด์ฃผ๋ ๊ฒ์ด ์ข๋ค.
# HTML
<form action="/add" method="POST">
<div class="form-group">
<label>์ค๋์ ํ ์ผ</label>
<input type="text" class="form-control" name="title" />
</div>
<div class="form-group">
<label>๋ ์ง</label>
<input type="text" class="form-control" name="date" />
</div>
<button type="submit" class="btn btn-danger">Submit</button>
</form>
2
3
4
5
6
7
8
9
10
11
# JS
/*
* ํ๋ผ๋ฏธํฐ ๋ณ์ ๋ป
* req: request ์์ฒญ
* res: response ์๋ต
*/
app.post('/', function (req, res) {
var post = req.body;
console.log(post);
});
2
3
4
5
6
7
8
9
๊ฐ input์ ์ ๋ณด๋ฅผ ์ ๋ ฅํ๊ณ submit ๋ฒํผ์ ๋๋ฅด๊ฒ๋๋ฉด ํด๋น ๋ฐ์ดํฐ๊ฐ ๊ฐ์ฒด๋ก ์ ๋ฌ๋ ๊ฒ์ ํฐ๋ฏธ๋์์ ํ์ธํ ์ ์๋ค.
[nodemon] restarting due to changes...
[nodemon] starting `node serve.js server.js`
listening on 8080
{ title: 'hello', date: 'hi' }
2
3
4
๋๋ ์ด์ ๊ฐ์ด send
๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ฌํด์ฃผ๋ฉด ์๋ฒ ํ๋ฉด์์ ํ์ธํ ์ ์๋ค.
app.post('/', function (req, res) {
res.send(req.body);
});
2
3