記錄

생활코딩_Node.js) cookie 생성, 수정 본문

Web/Node.js

생활코딩_Node.js) cookie 생성, 수정

surhommejk 2018. 8. 1. 15:24

이번 강의에서는 Express에서의 cookie 활용에 대해 배웠다. 스프링과 좀 달랐던 점은 더 간편하다는 것이다.

확실히 node.js 환경 자체가 스프링에서 하던 것 보다 모든 것이 가볍고 간편한 느낌이다.


const express = require('express');
const cookieParser = require('cookie-parser');
const app = express();

app.use(cookieParser());

app.get('/count',function(req, res){

let count;
if(req.cookies.count){
// cookie 에서 가져오는 값은 모두 String type이 디폴트
count = parseInt(req.cookies.count);
} else{
count = 0;
}

count += 1;

res.cookie('count', count);
res.send('count : ' + count);

});

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


1. cookie-parser 설치

npm install cookie-parser


req.cookies (API)

When using cookie-parser middleware, this property is an object that contains cookies sent by the request.

If the request contains no cookies, it defaults to {}.


2. 미들웨어 call

const cookieParser = require('cookie-parser');
app.use(cookieParser());


3. 쿠키 생성 및 read 후 send


쿠키 read하고 없으면 count 변수에 0을 할당

let count;
if(req.cookies.count){
// cookie 에서 가져오는 값은 모두 String type이 디폴트
count = parseInt(req.cookies.count);
} else{
count = 0;
}


쿠키를 생성

count += 1;

// res.cookie(key , value); 로 cookie를 생성
res.cookie('count', count);
res.send('count : ' + count);




+ a

cookie에는 아래와 같이 배열도 넣을 수 있다


const express = require('express');
const cookieParser = require('cookie-parser');
const app = express();

app.use(cookieParser());

app.get('/fruit',function(req, res){

let fruit;
if(req.cookies.fruit){
fruit = req.cookies.fruit
} else{
fruit = ['apple', 'banana', 'orange'];
}

res.cookie('fruit', fruit);
let fruitstr = '';
for(var temp = 0; temp < fruit.length; temp++){
fruitstr += fruit[temp] + '/';
}
res.send('fruit : ' + fruitstr);

});

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


Comments