如何创建环回外部CRUD?

时间:2015-12-15 03:25:57

标签: node.js api loopbackjs

我想使用loopback成为"中间人"连接两个不同的api(server1和server2)。当我将用户的电子邮件传递给此"中间人"时,它将检查服务器1,如果该服务器返回true,那么"中间人"将从服务器2获取所有数据保存到服务器1。

有人可以指导我如何做到这一点吗?我试图遵循环回文档,但我无法得到我想要的东西,我错过了什么?

2 个答案:

答案 0 :(得分:0)

所以实际的实现与Loopback.js框架并没有关系。这可以在任何Node.js代码中实现。

实际上,上面的描述是使用对服务器1和2的简单HTTP请求来执行此操作的正确步骤

例如使用request 模块此代码显示中间人的伪代码。

const request = require('request');

// 1. Call Server 1
request('http://server1.com/api/message', function (err, res, body) {

    // 2. Check body message is true
    if (body.message === true) {

        // 3. Get data from Server 2
        request('http://server2.com/api/get', function (err, res, body) {

            // 4. Save data to Server 1
            request({
                url: 'http://server1.com/api/save',
                method: "POST",
                json: requestData },
                function (err, res body) { /* process response here... */ }); 
        }); 
    }   
});

答案 1 :(得分:0)

假设您已根据我对your related question的回答设置了两个调用外部API提供程序的数据源 - 对于此示例,您将需要以下调用:

Server1数据源:

  • CQ.User.getCurrentUser() // GET方法,返回true或false
  • checkEmail // POST方法,返回true或false

Server2数据源:

  • save // GET或POST方法,返回电子邮件地址的详细联系方式

您还需要一个具有适当方法的Loopback模型作为您的入口点。对于该示例,我们使用名为getDetails的远程方法将其称为Contact,并接收email参数。这段代码可以完成所有工作:

store

(你可以宣传所有上述更清洁的代码)