23

我很新,Javascript并且node.js我正在尝试创建一个REST API,并且网址将采用这种形式。

  1. /user/{userId}/docs

我正在尝试获取 的值{userId},在/user/5/docswill的情况下5

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

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

我是一个传统的Java用户和Jersey框架,用于在Java.

谢谢, 图科

4

3 回答 3

86

花一些时间阅读文档。Express 使用:来表示路由中的变量:

app.get('/user/:id/docs', function(req, res) {
    var id = req.params.id;
});
于 2012-08-28T14:03:54.697 回答
4

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

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');
于 2012-08-28T13:59:54.410 回答
0
var pathName = url.parse(request.url).pathname;
var id = pathName.split("=");
var userId = id[1];
于 2012-08-28T14:06:32.370 回答