这不是一个特定的问题,但是我试图围绕REST API的概念,并在您自己的API中调用API。
例如,如果我开发了一个名为“ BeesBees”的应用程序,用户可以在其中购买蜜蜂,并且我有一个登录名和密码数据库,而且显然还有蜜蜂,以及每种费用多少,我知道我可以使用自己的应用BeesBees API获取蜜蜂列表(如果我向其他人开放,他们也可以使用我的GET / bees点获取蜜蜂)
但是,如果我想允许客户购买蜜蜂,并且不想建立一个完整的平台来购买蜜蜂,那么我集成了Stripe-我可以进行POST /:users / charges /:priceOfBee API调用进而以某种方式调用Stripe API函数?例如,指向将使用Stripe的Node.js SDK收费的Node.js项目的URL。
或者,在这种情况下,最好只为我的设备的平台实施Stripe SDK并使用该设备收费?
我没有代码库,因此没有什么可区别的,但是我想不出其他任何要问的地方了,对不起
答案 0 :(得分:1)
您当然可以将API与其他API封装在一起,这实际上只是一种组合形式,可以将其委托给其他有意义的服务。
条带集成可能很好地说明了遵循这种模式的合理性。您当然不希望推出自己的付款服务。
这是一个本地Express服务器发出API请求的简单示例:
const express = require("express");
const port = 3000;
const app = express();
const request = require('request');
app.get("/api/example", (req, res) => {
// Make external REST request here...
let options = {
url: 'https://httpbin.org/get',
qs: { parameter1: 42 },
json: true
}
request(options, (err, response, body) => {
if (err) {
res.status(500).send(err.message);
} else {
res.status(200).send(body);
}
});
});
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('running at http://' + host + ':' + port)
});
console.log(`Serving at http://localhost:${port}`);