我是nodeJS的新手,我想使用nodeJS从webApi获取数据,例如,当我调用
时MYDOMAIN / getAllStudents
我想要所有学生的数据以及我什么时候
MYDOMAIN /学生/ 4
然后我只想要 ID = 2
的学生数据-challenge -
使用express我可以指定这样的路线
var app=express();
app.get('/getAllStudents',(request,response)=>{
console.log('we are listening !!!');
}).listen(8080);
但是当我尝试在回调函数中进行调用时,我无法获取值,我的完整代码
var http=require('http');
var express=require('express');
var app=express();
var options={host: '172.17.144.6',
port: 8394,
path: '/api/Masterdata/getAllStudents',
method: 'GET'}
app.get('/getAllStudents',(request,response)=>{
http.get(options,(res)=>{
res.on('data', function (chunk) {
console.log('BODY: ' + chunk);
});
});
console.log('we are listening !!!');
}).listen(8080);
我想要实现的是,当我点击 mydomain/getAllStudents
时,我想获取所有数据。我怎么能用nodeJS做到这一点?我可以使用nodeJS来满足我的要求吗?
答案 0 :(得分:2)
所以基本上你想在从另一个API解析数据后通过express公开数据。 你可以这样做:
要从节点js进行调用,您可以使用此库: node-rest-client
var Client = require('node-rest-client').Client;
var remoteURL = "172.17.144.6:8394/api/Masterdata/getAllStudents";
var express = require('express');
var students = express.Router();
students.route('/getAllStudents')
.get(function(req, res) {
client.get(remoteURL, function (data, response) {
console.log(data);
if(response.statusCode === 200)
res.status(200).send(data);
});
});