2015-09-12 3 views
0

Возможно ли создать REST-интерфейс Node, который ссылается на другие внешние службы? Единственной целью этого API было бы объединение других веб-сервисов в единую службу. Является ли Node правильной технологией, чтобы решить эту задачу?Служба REST службы сборки, которая потребляет другие внешние службы

ответ

0

Иногда вы отвечаете на свои вопросы. Во-первых, мои извинения за то, что первоначально называли это AngularJS API, когда он является Node.js 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); 
0

Да, это так. Поскольку nodejs является неблокирующим и управляемым событиями временем выполнения. Это именно то, что вам нужно.

Смежные вопросы