[node.js] POST 방식을 이용한 정보의 전달 4 : GET 과 POST 용도

2022. 8. 11. 14:11CLUG(중앙대학교 sw 과동아리)/server

728x90
let express = require('express');
var bodyParser = require('body-parser');

let app = express();
app.locals.pretty=true;
app.set('views','./views');
app.set('view engine','pug');

app.use(bodyParser.urlencoded({ extended: false }))

app.get('/form',function(req,res){
  res.render('form');
});
app.get('/form_receiver',function(req,res){
  let title = req.query.title;
  let description = req.query.description;
  res.send(title+','+description);
});

app.post('/form_receiver',function(req,res){
  let title = req.body.title;
  let description = req.body.description;
  res.send(title+','+description);
})

app.get('/topic/:id',function(req,res){
  let topics = [
    'JavaScript is...',
    'Nodejs is...',
    'Express is...'
  ];

  let output =`
  <a href="/topic/0">JavaScript</a><br>
  <a href="/topic/1">Nodejs</a><br>
  <a href="/topic/2">Express</a><br><br>
  ${topics[req.params.id]}
  `
  res.send(output);
})

app.get('/template',function(req,res){
  res.render('temp', {time:Date(),_title:'Pug'});
})

app.listen(3000, function(){
  console.log('Connected 3000 port!');
})

post 방식

데이터가 url로  전송되지 않고 암시적으로.

불필요하게 정보가 노출되지 않음.

용량 제한 없음.

post방식은 express가 기본적으로 제공하지 않기 때문에 body-parser라는 미들웨어를 app.use로 붙여서 사용.

사용자로부터 들어오는 요청을 중간에서 가로챈 뒤 req객체에 body라는 객체를 추가시켜주는 역할을 함. 

name값으로 전달된 데이터가 body 객체의 property로 들어옴

form의 이름을 통해서 사용자가 전송한 데이터를 받을 수 있다.