Sails.JS 如何让控制器中的 HTTP GET 方法与 URL 参数一起正常工作
Sails.JS how to get a HTTP GET method in the controller to work properly with URL parameters
我在 Sails.JS 中有一个控制器需要采用 URL 如下参数:localhost:1337/api/test/[value1]/[value2]
我怎样才能让控制器准确地做到这一点?我已经尝试包含一个 :value!或类似 localhost:1337/api/test/:value1 的建议 https://sailsjs.com/documentation/reference/request-req/req-params 但控制器无法识别对此 localhost:1337/api/test/MyValue 的查询req.param("value1").
这里有什么建议吗?
routes.js 文件包含以下内容:
'get api/test/:value1': 'TestController.test',
控制器方法如下所示:
test: function(req, res) {
sails.log("req.params = " + JSON.stringify(req.params.all()));
if (req.method == "GET"){
var value1 = req.param("value1");
Test.findOne({"value1": value1).exec(function (err, value1){
if(err) {
sails.log(err);
return res.serverError(err);
}
if(!value1){
//Some error
}
return res.ok(value1);
});
} else {
var wrongHttpMethod = req.__('Wrong HTTP method');
return res.notFound(wrongHttpMethod);
}
}
所以基本问题是:如何使用 URL(或查询)参数获取到 运行 的 HTTP GET 方法?
自行解决。没有发现错误,但它有效。
我在 Sails.JS 中有一个控制器需要采用 URL 如下参数:localhost:1337/api/test/[value1]/[value2]
我怎样才能让控制器准确地做到这一点?我已经尝试包含一个 :value!或类似 localhost:1337/api/test/:value1 的建议 https://sailsjs.com/documentation/reference/request-req/req-params 但控制器无法识别对此 localhost:1337/api/test/MyValue 的查询req.param("value1").
这里有什么建议吗?
routes.js 文件包含以下内容:
'get api/test/:value1': 'TestController.test',
控制器方法如下所示:
test: function(req, res) {
sails.log("req.params = " + JSON.stringify(req.params.all()));
if (req.method == "GET"){
var value1 = req.param("value1");
Test.findOne({"value1": value1).exec(function (err, value1){
if(err) {
sails.log(err);
return res.serverError(err);
}
if(!value1){
//Some error
}
return res.ok(value1);
});
} else {
var wrongHttpMethod = req.__('Wrong HTTP method');
return res.notFound(wrongHttpMethod);
}
}
所以基本问题是:如何使用 URL(或查询)参数获取到 运行 的 HTTP GET 方法?
自行解决。没有发现错误,但它有效。