2016-12-19 17 views
-1

で働いていない私は、URLを持っています。このURLは、パラメータでプロパティを持つエンドポイントを作成します。複数のパラメータはNodeJSエクスプレス

POST http://localhost:8082/core/api/v1/endpoints/create/endpoint3/abc/def 

UPDATE:これは私のテストです

{ 
    "message": "success", 
    "statuscode": 200 
} 

:これはJSONが成功場合返しますです

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) 

:私はパラメータで要求をしようとすると、しかし...私はエラーを受け取りました: paramsを取得するコードは次のとおりです。

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; 
} 
+1

は私がのparamsを取得するために私のコードを更新してきた – rckrd

+0

...あなたは誰があなたの助言を与えるためにあらゆる機会を持つようにしたい場合は、あなたのコードの一部を共有する必要があると思う –

答えて

1

あなたが記述エラーが最も可能性が高いあなたは、ルータを添付する方法に関連しているようなアクセスをエクスプレスアプリ。上記のコードスニペットはうまくいきます。

以下は実際の例です。

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 POST http://localhost:3000/endpoints/create/test/hello/world

+0

ありがとう、それは仕事です! –

1

共通文字( '?'と '&')の完全なコンテキストを持つことができるように、なぜreq.parameterを使用しないのですか?たとえば、あなたは、単に行うことができます:

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

http://localhost:8082/something?host= $ VAR_HOST &名= $ VAR_NAME &説明= $ VAR_DESCRIPTION

+0

私はパラメータを得るためにreq.params.blarblarを使用しています –

関連する問題