2

我有一个 C++ API(后端),我想将它用作 Web 服务。我正在考虑使用 REST 作为前端和后端之间的接口。我找到了一堆用于 REST 的 C++ 库,但我最终想要的是保持 C++ API 清晰/独立于 REST 的东西,并在前端处理所有这些,从而保持 C++ API 的通用性和可重用性。关于如何去做的任何建议?

此外,我的 API 并不专注于数据集合,而是专注于处理数据,这些数据将作为 API 中包含的函数的输入提供。所以基本上,C++ 函数从 Web 接收输入数据,对其进行处理并返回输出数据。我只需要能够进行 API 调用,将输入数据作为参数传递并取回输出数据。

4

3 回答 3

0

所以我从标签中猜测您想要一个调用 C++ 函数的 PHP 服务器?

如果是这样,您可以使用PHP 扩展直接从 PHP 代码调用 c++ 例程。或者,使用 SWIG 为您的 C++ 代码创建一个包装器,或者将您的 C++ 例程放在一个可执行文件中并使用 system() 调用它,并将参数作为标准输入传递。

于 2012-05-27T23:33:50.563 回答
0

我做这种事情的方式是使用 PHP 前端通过套接字与您的 C++ 后端通信。

您需要 C++ 和 PHP 端的包装层来序列化/反序列化您的调用。为此,有多种解决方案:您可以使用 XML、JSON、AMF、协议缓冲区、thrift 等。

这可以很好地扩展,因为您可以有多个 PHP 前端调用您的 C++ 后端 - 但只有当您的后端是有状态的时才真正需要。

如果后端不是有状态的,那么最好只使用system样式调用。

于 2012-05-28T00:41:46.770 回答
0

我认为您可以为您的 API 创建一个包装器,将您的 api 函数转换为 rest 端点,并使用 DTO 将 REST 层与您的 api 分离,为此您可以使用 otapp,这是一个非常完整的 C++ REST 框架。

于 2021-04-25T03:47:19.267 回答