Node.js 生成使用其他外部服务的节点REST服务

Node.js 生成使用其他外部服务的节点REST服务,node.js,web-services,api,Node.js,Web Services,Api,是否可以构建引用其他外部服务的节点RESTAPI?此API的唯一目的是将其他Web服务整合到单个服务中。Node是实现这一目标的正确技术吗?是的。因为nodejs是非阻塞和事件驱动的运行时。这正是你所需要的。有时候你会回答自己的问题。首先,我为最初将其称为AngularJS API而道歉,因为它是Node.js API 您可以使用http接口与其他服务交互。我构建了一个原型,该原型调用typicode提供的测试服务,该服务只是将其响应作为我的服务的响应返回 这是使用节点模块express和主体解

是否可以构建引用其他外部服务的节点RESTAPI?此API的唯一目的是将其他Web服务整合到单个服务中。Node是实现这一目标的正确技术吗?

是的。因为nodejs是非阻塞和事件驱动的运行时。这正是你所需要的。

有时候你会回答自己的问题。首先,我为最初将其称为AngularJS API而道歉,因为它是Node.js API

您可以使用http接口与其他服务交互。我构建了一个原型,该原型调用typicode提供的测试服务,该服务只是将其响应作为我的服务的响应返回

这是使用节点模块express和主体解析器构建的

// server.js
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var http = require('http');

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

var port = process.env.PORT || 8080;

// routes
var router = express.Router();

// test route
router.get('/', function(req, res) {
    res.json({ message: 'Welcome to your API' });   
});

// typicode test route
router.route('/typicode')
  .get(function(req, res) {
    var options = {
      host: 'jsonplaceholder.typicode.com',
      path: '/posts/1'
    };
    var typicodeReq = http.get(options, function(http_res) {
      var str = '';
      http_res.on('data', function(chunk) {
        str += chunk;
      });
      http_res.on('end', function() {
        res.json(JSON.parse(str));  
      });
    });
  });

// route registration prefixed with /api
app.use('/api', router);

// server start
app.listen(port);
console.log('API Listening on Port ' + port);