是否可以构建引用其他外部服务的Node REST API?此API的唯一目的是将其他Web服务整合到单个服务中。 Node是否是选择完成此任务的正确技术?
答案 0 :(得分:0)
是的。因为nodejs是非阻塞和事件驱动的运行时。这正是你所需要的。
答案 1 :(得分:0)
有时你回答自己的问题。首先,我很抱歉,当它是Node.js API时,最初称之为AngularJS API。
您可以使用http接口与其他服务进行交互。我构建了一个原型,它调用由typicode提供的测试服务,它只是将响应作为我服务的响应返回。
这是使用节点模块express和body-parser构建的。
// 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);