티스토리 뷰

Framework/Express.js

쿼리스트링(Querystring)

Seogineer 2021. 2. 10. 23:21

Querystring이란?

http://localhost:3000/topic?id=1

 

  • 위 주소의 전체를 URL이라 하고 '?' 뒤에 나오는 'id=1' 과 같은 부분을 쿼리스트링이라 한다.

 

Querystring 이용 방법

app.get('/topic', (req, res) => {
  res.send(req.query.id);	// 1
});
  • req.query를 이용해서 값을 얻는다.
  • "/topic?id=1"에서 id와 "req.query.id"에서 id가 일치해야 값을 읽을 수 있다.

 

소스코드

app.get('/topic', (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><br>
    ${topics[req.query.id]}
  `
  res.send(output);
});

 

Semantic URL이란?

http://localhost:3000/topic/1
  • 질의어 없이, 경로만 가진 간단한 구조의 URL

 

Semantic URL 이용방법

app.get('/topic/:id/:mode', (req, res) => {
  res.send(req.params.id + ',' + req.params.mode);
});
  • req.params를 이용해서 값을 얻는다.
  • "/topic/:id/:mode"에서 id와 mode가 req.params.id와 req.params.mode에서 id와 mode와 일치해야 값을 읽을 수 있다.

 

소스코드

app.get('/topic/:id', (req, res) => {
  var topics = [
    'Javascript is ...',
    'Nodejs is ...',
    'Express is ...'
  ];

  var 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);
});

 

참고

www.youtube.com/watch?v=iXkl5lwjsD8&feature=emb_title

www.youtube.com/watch?v=qlwzrTrWPwI&feature=emb_title

ko.wikipedia.org/wiki/%EA%B0%84%ED%8E%B8_URL

'Framework > Express.js' 카테고리의 다른 글

POST 방식으로 정보의 전달  (0) 2021.02.11
Jade : Express 템플릿 엔진  (0) 2021.02.10
정적/동적 페이지 비교  (0) 2021.02.10
Nodejs 동기/비동기  (0) 2021.02.10
Underscore.js  (0) 2021.02.10
댓글
Total
Today
Yesterday
링크
Apple 2023 맥북 프로 14 M3, 스페이스 그레이, M3 8코어, 10코어 GPU, 512GB, 8GB, 한글