我有一个C++应用程序接口(后端),我想把它用作web服务。我正在考虑使用REST作为前端和后端之间的接口。我发现了许多用于REST的C++库,但我最终想要的是保持C++应用程序接口清晰/独立于REST内容,并在前端处理所有这些,从而保持C++应用程序接口的通用性和可重用性。对如何去做有什么建议吗?
另外,我的API关注的不是数据集合,而是处理将作为API中包含的函数的输入的数据。因此,基本上,C++函数从web接收输入数据,对其进行处理并返回输出数据。我只需要能够进行API调用,将输入数据作为参数传递并获得输出数据即可。
发布于 2012-05-28 07:33:51
所以我从标记中猜测您想要一个调用C++函数的PHP服务器?
如果是这样,您可以使用PHP extensions直接从PHP代码调用c++例程。或者,使用SWIG为您的C++代码创建一个包装器,或者将您的C++例程放在一个可执行文件中,并使用将参数作为标准输入传递的system()来调用它。
发布于 2012-05-28 08:41:47
我做这类事情的方式是使用PHP前端通过套接字与C++后端对话。
您需要在C++和PHP端使用包装层来序列化/反序列化您的调用。为此,有许多解决方案:您可以使用XML、JSON、AMF、protocol buffers、thrift等。
这可以很好地扩展,因为你可以让多个PHP前端调用你的C++后端-但只有当你的后端是有状态的时才是真正必要的。
如果后端不是有状态的,那么你最好使用system风格的调用。
发布于 2021-04-25 11:47:19
我认为你可以为你的应用程序接口创建一个包装器,将你的应用程序接口函数转换成rest端点,并使用DTO将REST层与你的应用程序接口解耦,为此,你可以使用otapp,一个用C ++编写的非常完整的rest框架。
https://stackoverflow.com/questions/10777839
复制相似问题