我是nodejs的新手,可以表达并尝试构建简单的功能
我有这段代码可以成功地将我的get请求发送到适当的路由(在这种情况下,这是我编写了mysql查询的服务)
app.get('/requests', service.getRequests);
这适用于简单的get请求,例如http://localhost:5000/requests
我想知道如何从get请求中获取参数并将其传递到路由处理程序中?
例如:类似http://localhost:5000/requests?id=123的东西,我想将id传递给service.getRequests函数,但以下内容不起作用-
app.get('/request',function(req,res){
res.send(service.getRequests(req));
});
这是service.js(部分内容)的样子
exports.getRequests = function(req,res){
//console.log(req.id);
connection.connect()
connection.query('SELECT * FROM table1 t where t.uid = ? LIMIT 10',[req.id], function (err, result, fields) {
if (err) throw err
res.json({ results: result });
})
connection.end()
}
编辑:我的问题不是要获取GET参数,而是要如何与res.send一起使用/如何使用此参数调用服务,尤其是以下一行-
app.get('/request',function(req,res){
res.send(service.getRequests(req));
});
答案 0 :(得分:0)
不清楚您要使用哪个节点模块向PostgreSQL发送查询。
但是,假设您使用的是pg
,那么问题是您应该按如下所示放置参数:
SELECT * FROM table1 t where t.uid = $1 LIMIT 10
答案 1 :(得分:0)
您可以将端点配置为采用这样的变量
http://localhost:5000/requests/123
df1 <- read.table(text="Id ServiceDate
234 2004-02-10
234 2003-11-05
234 2002-06-07
117458 2002-03-14
117458 2003-03-17
117458 2004-07-05
2195623 2002-04-12
2195623 2002-08-15
2195623 2002-09-10", header = TRUE)
df2 <- read.table(text="Id Effective_Dt Effct_End_Dt Capacity
234 2004-01-01 2004-12-31 10
234 2002-01-01 2003-12-31 17
117458 2000-03-14 2004-12-31 11
2195623 1995-04-01 2003-05-25 22
2195623 2003-05-26 2004-04-17 27
2195623 2004-04-18 2004-12-31 25", header = TRUE)