如何在nodejs中调用自己的API来输入其他API

时间:2016-03-26 09:11:25

标签: node.js express

我有一个名为/ validate的API,它返回true或false值。我希望在nodejs中的其他API中使用true / false响应。请帮助

app.get('/validate',new TestController())  上面的api会给出响应,如 true false

现在在api下面我想调用/验证并根据响应我想将结果发送给用户

app.get('/check',new Validator())

我使用require('request')但未找到错误

2 个答案:

答案 0 :(得分:0)

如果你有一个成功的api服务器,例如你进入你的浏览器并转到url / validate并且它给你一个回复(真或假或你的情况下是什么)那么你的请求使用模块“request”是不正确的。

在这种情况下,您的api端点使用GET进行请求。 〜(有人编辑我,我不擅长英语= P)

request.get('/validate', function (error, response, body) {
    if (!error && response.statusCode == 200) {
        console.log(body); // body is either 'true' or 'false'
    }
});

答案 1 :(得分:0)

我知道这个问题超过一年了,但是:

我发现从您自己的自托管API中使用数据的最简单方法是:

router.get('/', function(req, res, next) {
    /* Find own IP and Port */
    require('dns').lookup(require('os').hostname(), function (error, address) {
        /* Assemble API URL (yours might be a little different) */
        ownAPI = "http://" + address + ":" + req.app.get('port') + "/api";

        /* Request from your own API */   
        request(ownAPI, function(error, response, body) {
            // Whatever you wanna do here