Web/Nodejs

Node.js (쿼리)

알로그 2020. 1. 17. 23:59
반응형

Node.js 쿼리스트링(Query String)

생활코딩 Node.js를 이용해 웹애플리케이션 만들기의 내용을 정리해본다.

쿼리스트링(query string)은 어플리케이션에 정보를 전달할때, URL 사용되는 국제표준 방식이다.

 

이전 포스팅에서 언급했던 것처럼 아래와 같은 각 URL은

  • http://a.com/login
  • http://a.com/home
  • http://a.com/topic

언제나 같은 페이지를 보여주는 한계점이 있다.

 

이는 쿼리스트링을 이용하여 개선할 수 있으며, 아래와 같이 id 값을 다르게 입력함으로써 다른 결과를 보여줄 수 있다.

  • http://a.com/topic?id=1
  • http://a.com/topic?id=2

id=1과 같은 부분을 쿼리스트링이라고 한다.

 

 

참조 : http://expressjs.com/ko/4x/api.html#req.query

 

Express 4.x - API 참조

Express 4.x API express() Creates an Express application. The express() function is a top-level function exported by the express module. var express = require('express') var app = express() Methods express.json([options]) This middleware is available in Ex

expressjs.com

 

<소스코드예제>

var express = require('express');
var app = express();

app.locals.pretty = true;

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

 

Semantic URL

쿼리스트링이 아닌 좀 더 직관적으로 사용하는 Semantic URL에 대해 알아보자.

위에서 사용했던 http://a.com/topic?id=1 방식이 아닌 http://a.com/topic/1로 접속하는 방식이다.

var express = require('express');
var app = express();

app.locals.pretty = true;

app.get('/topic/:id', function(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>
  ${topics[req.params.id]}
  `

  res.send(output);
});

 

반응형

'Web > Nodejs' 카테고리의 다른 글

Node.js (Supervisor)  (0) 2020.04.04
Node.js (Express, 템플릿 엔진)  (0) 2020.01.11
Node.js (Express)  (0) 2020.01.08
Node.js  (0) 2020.01.06