我将Express与Node一起使用,并且我有一个要求用户可以将URL请求为:http://myhost/fruit/apple/red。
http://myhost/fruit/apple/red
这样的请求将返回JSON响应。
上述调用之前的JSON数据如下:
{ "fruit": { "apple": "foo" } }
通过上述请求,响应JSON数据应为:
{ "apple": "foo", "color": "red" }
我已经配置了Express路由,如下所示:
app.get('/fruit/:fruitName/:fruitColor', function(request, response) { /*return the response JSON data as above using request.params.fruitName and request.params.fruitColor to fetch the fruit apple and update its color to red*/ });
但这是行不通的。我不确定如何传递多个参数,也就是说,我不确定是否/fruit/:fruitName/:fruitColor正确的方法。是吗?
/fruit/:fruitName/:fruitColor
app.get('/fruit/:fruitName/:fruitColor', function(req, res) { var data = { "fruit": { "apple": req.params.fruitName, "color": req.params.fruitColor } }; send.json(data); });
如果那不起作用,请尝试使用console.log(req.params)看看它能为您提供什么。