Node.js 多个参数在NodeJS Express中不起作用

Node.js 多个参数在NodeJS Express中不起作用,node.js,rest,api,express,Node.js,Rest,Api,Express,我有网址: POST http:/host/core/api/v1/endpoints/create/:name/:description/:address 我正在使用快速NodeJS。此url将使用参数中的属性创建端点。但是使用参数尝试请求时,收到错误: Error: Not Implemented at router.use (D:\Study\NodeJS\ProjectEnviromentMonitoring\EnvironmentMonitoring\controllers\a

我有网址:

POST http:/host/core/api/v1/endpoints/create/:name/:description/:address
我正在使用快速NodeJS。此url将使用参数中的属性创建端点。但是使用参数尝试请求时,收到错误:

Error: Not Implemented
   at router.use (D:\Study\NodeJS\ProjectEnviromentMonitoring\EnvironmentMonitoring\controllers\api.js:517:14)
   at Layer.handle [as handle_request] (D:\Study\NodeJS\ProjectEnviromentMonitoring\EnvironmentMonitoring\node_modules\express\lib\router\layer.js:95:5)
   at trim_prefix (D:\Study\NodeJS\ProjectEnviromentMonitoring\EnvironmentMonitoring\node_modules\express\lib\router\index.js:312:13)
   at D:\Study\NodeJS\ProjectEnviromentMonitoring\EnvironmentMonitoring\node_modules\express\lib\router\index.js:280:7
   at Function.process_params (D:\Study\NodeJS\ProjectEnviromentMonitoring\EnvironmentMonitoring\node_modules\express\lib\router\index.js:330:12)
   at next (D:\Study\NodeJS\ProjectEnviromentMonitoring\EnvironmentMonitoring\node_modules\express\lib\router\index.js:271:10)
   at Function.handle (D:\Study\NodeJS\ProjectEnviromentMonitoring\EnvironmentMonitoring\node_modules\express\lib\router\index.js:176:3)
   at router (D:\Study\NodeJS\ProjectEnviromentMonitoring\EnvironmentMonitoring\node_modules\express\lib\router\index.js:46:12)
   at Layer.handle [as handle_request] (D:\Study\NodeJS\ProjectEnviromentMonitoring\EnvironmentMonitoring\node_modules\express\lib\router\layer.js:95:5)
   at trim_prefix (D:\Study\NodeJS\ProjectEnviromentMonitoring\EnvironmentMonitoring\node_modules\express\lib\router\index.js:312:13)
这是如果成功,JSON将返回:

{
   "message": "success",
   "statuscode": 200
}
这是我的测试:

POST http://localhost:8082/core/api/v1/endpoints/create/endpoint3/abc/def
更新:获取参数的代码是:

router.route('/endpoints/create/:name/:description/:address').post((req, res) => {
var name = req.params.name;
var description = req.params.description;
var address = req.params.address;
 }

为什么不使用req.parameter,这样就可以有一个包含公共字符(“?”和“&”)的完整上下文?例如,您可以简单地执行以下操作:

var host = req.param('host');
var name = req.param('name');
var description = req.param('description');

然后像$VAR_HOST&name=$VAR_name&description=$VAR_description

那样访问它,为什么不直接使用req.parameter,这样就可以有一个包含常用字符(“?”和“&”)的完整上下文?例如,您可以简单地执行以下操作:

var host = req.param('host');
var name = req.param('name');
var description = req.param('description');

然后像$VAR_HOST&name=$VAR_name&description=$VAR_description

那样访问它。您描述的错误很可能与您将路由器连接到express应用程序的方式有关。您上面发布的代码片段工作正常

下面是一个工作示例

var express = require('express')
var app = express();
var router = express.Router();

router.route('/endpoints/create/:name/:description/:address').post((req, res) => {
    var name = req.params.name;
    var description = req.params.description;
    var address = req.params.address;
    console.log({ name: name, desc: description, address: address });
    res.json({
        "message": "success",
        "statuscode": 200
    });
});

app.use(router);
app.listen(3000, function () {
    console.log('Example app listening on port 3000!')
});

测试:
curl-X POSThttp://localhost:3000/endpoints/create/test/hello/world

您描述的错误很可能与您如何将路由器连接到express应用程序有关。您上面发布的代码片段工作正常

下面是一个工作示例

var express = require('express')
var app = express();
var router = express.Router();

router.route('/endpoints/create/:name/:description/:address').post((req, res) => {
    var name = req.params.name;
    var description = req.params.description;
    var address = req.params.address;
    console.log({ name: name, desc: description, address: address });
    res.json({
        "message": "success",
        "statuscode": 200
    });
});

app.use(router);
app.listen(3000, function () {
    console.log('Example app listening on port 3000!')
});

测试:
curl-X POSThttp://localhost:3000/endpoints/create/test/hello/world

我想你需要分享你的一些代码,如果你想让任何人有机会给你提供建议…我已经更新了我的代码以获取参数。我想你需要分享你的一些代码,如果您想让任何人有机会给您提供建议…我已经更新了我的代码以获取参数。我正在使用req.params.blarblar获取参数。我正在使用req.params.blarblar获取参数