как получить ID из URL-адреса при использовании узла.Яш

я совсем новичок в Javascript и node.js и я пытаюсь создать REST API, и URL-адреса будут иметь вид.

  1. /user/{userId}/docs

я пытаюсь получить значение {userId}, что в случае /user/5/docs будет 5.

я мог бы попытаться передать это как параметр запроса(в строке запроса или в теле, в зависимости от GET или POST метод), но url-адрес выглядит более интуитивно понятным, когда он формируется. Плюс есть еще много URL-адресов, которые похожи на эти.

мне интересно, есть ли какие-либо модули узлов, такие как express, которые обеспечивают это.

я традиционной Java пользователь и Jersey framework используется для обеспечения такой вещи в Java.

спасибо, Туко!--13-->

3 ответов


проведите некоторое время с документация. Express использует : для обозначения переменной в маршруте:

app.get('/user/:id/docs', function(req, res) {
    var id = req.params.id;
});

напишите в скрипте сервера следующее:

var http = require('http');
var server = http.createServer(function (request, response) {
    var url = request.url; //this will be /user/5/docs
    url.id = url.split("/")[2]; // this will be 5
    response.writeHead(200, {'Content-Type' : 'text/html'});
    response.end("Id is = " + url.id);
});
server.listen(8000, '127.0.0.1');

var pathName = url.parse(request.url).pathname;
var id = pathName.split("=");
var userId = id[1];