[GET 방식으로 받기]
1. 쿼리스트링 파라미터로 받기
클라이언트에서 GET 방식으로 정보를 보낼 때는 아래와 같이 주소창을 통해서 전달한다.
http://test.co.kr/?id=hello&pw=world
* 라우터 모듈 작성
app/routes$ vi info.js
//외부 모듈 추출
const express = require("express");
const router = express.Router();
//페이지 라우트
router.get('/', function(req, res) {
let name = req.query.name;
let age = req.query.age;
res.send("이름: "+name+" 나이: "+age);
});
//info.js 를 main.js 에 모듈로 내보낸다.
exports.router = router;
[POST 방식으로 받기]
클라이언트에서 POST 방식으로 전달하면 주소창에 파라미터가 표시되지 않는 특징이 있다.
app$ vi main.js
...
app.use(express.json());
app.use(express.urlencoded({extended: true}));
...
파서가 읽을 수 있는 데이터 허용치의 기본값음 100kb 이다. 이를 넘어서는 데이터가 전달되면 「PayloadTooLaregError: request entity too large」 오류가 발생한다. 그러면 아래와 같이 설정할 수 있다.
...
app.use(express.json({ limit: "50mb" })); //혹은 bodyParser.json()
app.use(express.urlencoded({ extended: true, limit:"50mb" }));
...
app/routes$ vi info.js
//외부 모듈 추출
const express = require("express");
const router = express.Router();
//페이지 라우트
router.get('/', function(req, res) {
let name = req.body.name;
let age = req.body.age;
res.send("이름: "+name+" 나이: "+age);
});
//info.js 를 main.js 에 모듈로 내보낸다.
exports.router = router;
'컴퓨터 > NodeJS' 카테고리의 다른 글
023. SSL 인증받기 (0) | 2021.12.01 |
---|---|
NodeJS EJS (0) | 2021.11.06 |
서버사이드 와 데이터베이스 연결 (선택: NodeJS, Mariadb) (0) | 2021.10.31 |
NodeJS 라우팅 모듈화 (0) | 2021.10.28 |
011. 정적 자료 제공 (0) | 2021.10.28 |