这不是一个特定的问题,但我正在尝试理解REST的概念,并在您自己的API中调用API。
例如,如果我开发了一个名为“BeesBees”的应用程序,用户可以在其中购买蜜蜂,我有一个登录和密码数据库,显然还有蜜蜂,以及每个蜜蜂的成本,我知道我可以使用自己的应用程序BeesBees应用程序接口来获取蜜蜂的列表(如果我将其开放给其他人,他们也可以使用我的get /bees点来获取蜜蜂)
但是,如果我想让客户购买蜜蜂,而我又不想为此构建一个完整的平台,那么我集成了Stripe --我可以有一个POST /:users/charges/:priceOfBee API调用吗,反过来,它又以某种方式调用了Stripe API函数?例如,指向一个将使用Node.js的SDK进行收费的Node.js项目的URL。
或者,在这样的情况下,只为我的设备平台实现条纹SDK并使用设备进行收费是不是更好?
我没有代码库,所以没有什么可拆分的,但我想不到其他地方可以问,对不起你们
发布于 2019-03-15 21:22:09
您当然可以将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}`);https://stackoverflow.com/questions/55179328
复制相似问题