如何在使用node.js时从URL获取Id

时间:2012-08-28 13:47:43

标签: javascript node.js express

我对Javascriptnode.js都很陌生,我正在尝试创建一个REST API,而网址将是这种形式。

  1. /user/{userId}/docs
  2. 我正在尝试获取{userId}的值,在/user/5/docs的情况下,5将为GET

    我可以尝试将此作为请求参数传递(在查询字符串中或在正文中,具体取决于POSTJava方法),但是当它形成时,网址看起来更直观将。此外还有更多类似的网址。

    我想知道是否有像express这样的节点模块提供了这个。

    我是传统的Jersey用户和Java框架,用于在{{1}}中提供此类内容。

    谢谢, 图科

3 个答案:

答案 0 :(得分:61)

花一些时间与the documentation。 Express使用:表示路径中的变量:

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

答案 1 :(得分:3)

在服务器脚本中写下以下内容:

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

答案 2 :(得分:0)

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