在另一条路线中获取REST APi响应

时间:2015-10-17 10:08:08

标签: node.js express

我正在使用Express with generator

我想在另一条路线中使用Rest Api的JSON响应 像这样:

var express = require('express');
var router = express.Router();
router.get('/api/:id', function(req, res, next) {
    res.json($something); // generate json object       
});


router.get('/show', function(req, res, next){

   router.get(/api/12,function(request, response){
      res.send(request.body); 
   });

});

1 个答案:

答案 0 :(得分:1)

您要么提取用于/api/:id/的中间件功能,以便您可以重复使用它(推荐),或者您需要发出正确的请求。正如您所想,router.get不会请求资源,而是设置路由。 所以,我要去:

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

var getResource = function(req, res, next) {
    //use req.params.id to look up resource
    res.json($something); // generate json object       
}
router.get('/api/:id', getResource );

router.get('/show', function(req, res, next){
  req.params.id = "12";
  return getResource(req, res, next);
});