티스토리 뷰
안녕하세요 박스여우입니다. 얼마전에 NodeJS를 다루던 중 POST Request를 받을 때 파라미터를 사용할 수가 없었습니다. 그래서 이번에는 NodeJS에서 Get과 Post Request의 Paramater를 사용하는 방법에 대해서 알아보도록 하겠습니다.
■Get Request
우선 Get 방식부터 살펴보도록 하겠습니다.
일반적인 파라미터 사용
1 2 3 4 5 6 7 | //http://localhost:8080/test/users?id=test&name=boxfox app.get('/test/users', function(req, res) { var user_id = req.param('id'); var user_name = req.param('name'); res.send(user_id + ' ' + user_name); }); | cs |
1번 라인에서 /test/users 경로로 라우팅을 수행하고 /test/users 경로에 request가 왔을때 메소드가 수행됩니다. 2, 3번 라인의 req.param('')을 통해 paramater를 얻어오고 5번라인에서 이를 다시 response로 보내줍니다. .
경로로 매개변수 받기
1 2 3 4 | // http://localhost:8080/test/123 app.get('/test/:number', function(req, res) { res.send(req.params.number); }); | cs |
두 번째 예제입니다. 이번에는 파라미터를 Url 경로 자체에서 받는 방법 입니다. 2번 라인과 같이 라우팅을 할때 :변수명 과 같이 라우팅을 진행해 주면 됩니다.
■Post Request
다음은 Post 방식 입니다. Get 방식은 쉽게 파라미터를 사용할 수 있었지만 POST 방식에서 파라미터를 다루기 위해서는 별도의 모듈이 필요합니다. 우선 npm install body-parser 명령어를 통해 파라미터를 다루기 위한 모듈을 다운받아줍시다.
body parser 이용
1 2 3 | var bodyParser = require('body-parser'); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); | cs |
그리고 body-parser를 이용할 body의 종류를 등록해 줍시다. body의 종류로는 form-data, x-www-form-urlencoded등 다양한 종류가 있습니다. 모든 과정을 진행하셨으면 이제 POST Request에서도 매개변수를 다룰 수 있습니다!
POST request
1 2 3 4 5 6 7 | app.post('/test/users', function(req, res) { var user_id = req.body.id; var user_name= req.body.name; res.send(user_id + ' ' + user_name); }); | cs |
2, 3번 라인과 같이 req.body.paramater와 같이 파라미터에 접근하여 사용할 수 있습니다.
request를 테스트하기 위해 코드를 짜거나 일일이 파라미터를 입력하지 마시고 Post Man을 사용하시는 것을 추천해 드립니다. POST, GET 방식 모두 지원하며 Window, 크롬 앱등 다양한 환경에서 사용할 수 있습니다.(마치 홍보하는것 같네요..)
'프로그래밍 > 웹' 카테고리의 다른 글
Progressive Web App - PWA (402) | 2018.11.19 |
---|---|
React를 1년동안 사용하면서 느낀점 (0) | 2018.03.08 |
Nodejs mongodb (406) | 2017.02.11 |
Spring - Mysql 연동 (418) | 2017.02.08 |
Javascript - JQuery없이 POST 전송하기(Google URL Shortener) (411) | 2016.11.14 |