본문 바로가기

Javascript/nodejs

[Node.js: Express: URL을 이용한 정보의 전달] query string / query 객체 / Semantic URL

Query string

ex) http://a.com/topic?id=1

            도메인, Path[Router], Query string

 

query 객체

// app.js
// ...
app.get('/topic', function(req, res){
    res.send(req.query.id+', '+req.query.name);
});

* http://expressjs.com/en/5x/api.html#req.query

* http://127.0.0.1:3000/topic?id=0&name=jisun 로 접속해보자.

 

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

이렇게 나온다.

 

Semantic URL

쿼리스트링의 ? 없이 / 을 사용하여 URL을 구성할 수 있다. path방법으로 바꿔보자.

// app.js
// ...
// topic 라우터 수정
app.get('/topic/:id', function(req, res){
    var topics = [
        'Javascript is ...',
        'Nodejs is ...',
        'Express is ...'
    ];
    var output = `
        ${topics[req.params.id]}
    `;
    res.send(output);
});

* http://127.0.0.1:3000/topic/1 으로 접속해보자