11. Node.js Express-URL을 통한 정보 전달 <query string>
Node.js Express-URL을 통한 정보 전달
쿼리스트링이란?
URL PATH뒤에 ?하면서 붙는 것이 PATH를 통해서 보여주는 정보를 다르게 보여 줄 수있다.
ex) http://hpitos.tistory.com/10?id=1 처럼 ? 뒤에 붙는 것을 query string이라고 할 수 있다.
쿼리스트링 적용해보기 및 query 객체를 사용해보기
app.get('/topic',function(req,res){
res.send(req.query.id);
})
Express reference에서 properties에서 변수의 값으로 어떤것이 들어오는 지 알아야한다.
app.get('/topic',function(req,res){
res.send(req.query.id+','+req.query.name);
})
query 객체의 활용하기
app.get('/topic',function(req,res){
var topics = [
'JavaScript is...',
'Node.js is ...',
'Express is ...'
];
var output = `
<a href="/topic?id=0">JavaScrpit</a><br>
<a href="/topic?id=1">Node.js</a><br>
<a href="/topic?id=2">Express</a><br><br>
${topics[req.query.id]}
`
res.send(output);
})
쿼리스트링없이 깔끔하게 결과 전달해보기
시멘틱URL사용하기 (query가 아닌 params 사용한다.)
app.get('/topic/:id',function(req,res){ // 토픽다음 :id를 사용해서 적용가능하다.
var topics = [
'JavaScript is...',
'Node.js is ...',
'Express is ...'
];
var output = `
<a href="/topic?id=0">JavaScrpit</a><br>
<a href="/topic?id=1">Node.js</a><br>
<a href="/topic?id=2">Express</a><br><br>
${topics[req.params.id]} // 시멘틱은 Params를 통해 나태낼수있다.
`
res.send(output);
})
-------------------------------------------------------------------------------
// 하나더 추가해서 사용도 가능하다.
app.get('/topic/:id/:mode', function(req,res){
res.send(req.params.id+','+req.params.mode)
})