创建一个API来包装... API?

问题描述 投票:0回答:1

这不是一个特定的问题,但我试图围绕REST API的概念并在您自己的API中调用API。

例如,如果我开发一个名为“BeesBees”的应用程序,用户可以购买蜜蜂,我有一个登录和密码数据库,显然是蜜蜂,每个成本,我明白我可以使用自己的应用程序BeesBees API得到蜜蜂的清单(如果我让它为其他人开放,他们也可以使用我的GET /蜜蜂点来得到,好吧,蜜蜂)

但是,如果我想让客户购买蜜蜂,我不想构建一个完整的平台,那么我整合Stripe - 我可以有一个POST /:users / charge /:priceOfBee API调用,在转向,某种程度上称为Stripe API函数?例如,指向将使用Stripe的Node.js SDK进行收费的Node.js项目的URL。

或者,在这种情况下,为我的设备平台实施Stripe SDK并使用该设备进行收费会更好吗?

我没有代码库,所以没有什么可以分开的,但我想不出别的问题,对不起你们

node.js rest api abstract
1个回答
1
投票

你当然可以用其他API包装API,它实际上只是一种组合形式,委托给其他有意义的服务。

条带集成可能是一个很好的例子,说明遵循这种模式可能有意义。你当然不想推出自己的支付服务。

以下是发出API请求的本地Express服务器的一个简单示例:

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}`);
© www.soinside.com 2019 - 2024. All rights reserved.