2016-12-19 1 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

당신이 사람이 내가 – rckrd

+0

을 제공하는 기회를 갖고 싶어하는 경우, 코드의 일부를 공유 할 필요가 있다고 생각 req.params.blarblar를 사용하여 매개 변수를 얻으려고합니다 –

답변

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

PARAMS 얻을하려면 코드를 업데이트 한 조언 ... –

관련 문제