1. 쿼리스트링 소개
사용자가 어떤 주소로 접근하느냐에 따라 다른 결과를 보여줌. 주소(URL)를 통해 정보를 전달
http://a.com/topic?id=1
-> http : 프로토콜, hyper text transfer protocol + 도메인 주소 + path + query string
같은 path 안에서 query string에 따라 다른 결과를 받을 수 있음.
2. query 객체의 사용법
https://expressjs.com/en/4x/api.html#req
app.get('/topic', function(req, res){
res.send(req.query.id+', '+req.query.name);
})
http://localhost:3000/topic?id=1&name=Hadestown 로 접속하면
==> 1, Hadestown 출력
query string으로 여러 인자를 전달할 수 있다. & 구분자 사용.
3. query 객체의 이용
app.get('/topic', function(req, res){
var topics = [
'Javascript is...',
'Nodejs is...',
'Express is...'
];
var output = `
<a href="topic?id=0">JavaScript</a><br>
<a href="topic?id=1">Nodejs</a><br>
<a href="topic?id=2">Express</a><br>
${topics[req.query.id]}`
res.send(output);
})
4. 시멘틱 URL
Non-Semantic URL
localhost:3000/topic?id=2
Semantic URL
localhost:3000/topic/2
쿼리 스트링보다 가독성이 높고 깔끔하다는 장점이 있다.
app.get('/topic/:id/:mode', function(req, res){
res.send(req.params.id+', '+req.params.mode)
})
semantic URL의 정보를 받아 올 때는 req.params 를 사용한다.
'/topic' 은 '/topic/1' 의 주소를 연결시켜주지 못한다. 위와 같이 '/topic/:id' 이렇게 맵핑을 시켜주어야 한다.
'스터디📖 > Node.js' 카테고리의 다른 글
[nodejs 강좌] Node.js 를 이용해 웹애플리케이션 만들기 - 섹션 9. node.js 를 이용한 웹앱 제작 실습 (0) | 2022.02.06 |
---|---|
[nodejs 강좌] Node.js 를 이용해 웹애플리케이션 만들기 - 섹션 8. Express, POST 방식을 이용한 정보의 전달 (0) | 2022.02.03 |
[nodejs 강좌] Node.js 를 이용해 웹애플리케이션 만들기 - 섹션 6. Express 템플릿 엔진 (0) | 2022.02.02 |
[nodejs 강좌] Node.js 를 이용해 웹애플리케이션 만들기 - 섹션 5. Express (0) | 2022.02.02 |
[nodejs 강좌] Node.js 를 이용해 웹애플리케이션 만들기 - 섹션 4. 동기와 비동기 (0) | 2022.02.02 |