C+的REST与RPC+;美国石油学会 我正在编写一个C++ API,它将被用作Web服务。API中的函数将图像/路径_到_图像作为输入参数,对其进行处理,并将一组不同的图像/路径_到_图像作为输出。我正在考虑实现一个REST接口,使开发人员能够在他们的项目中使用这个API(独立于他们希望使用的任何语言)。但是,我知道REST只有在您有一个要查询或操作的数据集合时才是好的,这里的情况并非如此。 [我拥有的集合具有不同的函数,用于操作提供的数据。]

C+的REST与RPC+;美国石油学会 我正在编写一个C++ API,它将被用作Web服务。API中的函数将图像/路径_到_图像作为输入参数,对其进行处理,并将一组不同的图像/路径_到_图像作为输出。我正在考虑实现一个REST接口,使开发人员能够在他们的项目中使用这个API(独立于他们希望使用的任何语言)。但是,我知道REST只有在您有一个要查询或操作的数据集合时才是好的,这里的情况并非如此。 [我拥有的集合具有不同的函数,用于操作提供的数据。],c++,api,rest,rpc,C++,Api,Rest,Rpc,所以,对我来说,实现一个RPC接口更好吗,或者可以使用REST本身来实现吗?与RPC相比,REST(json风格的接口)是轻量级的,API用户可以轻松使用。RPC(soap/xml)看起来复杂而沉重 我猜您想要的是基于HTTP+JSON的API,而不是REST作者声称的REST API REST使用常见的操作GET、POST、DELETE、HEAD、PUT。可以想象,这是非常面向数据的。但是,对数据类型和数据大小没有限制(无论如何我都不知道)。 因此,几乎可以在所有上下文中使用它(包括发送二进制

所以,对我来说,实现一个RPC接口更好吗,或者可以使用REST本身来实现吗?

与RPC相比,REST(json风格的接口)是轻量级的,API用户可以轻松使用。RPC(soap/xml)看起来复杂而沉重

我猜您想要的是基于HTTP+JSON的API,而不是REST作者声称的REST API
REST使用常见的操作GET、POST、DELETE、HEAD、PUT。可以想象,这是非常面向数据的。但是,对数据类型和数据大小没有限制(无论如何我都不知道)。 因此,几乎可以在所有上下文中使用它(包括发送二进制数据)。REST的优点之一是web浏览器理解REST,用户不需要专用的应用程序来发送请求

RPC提供了更多的可能性,也可以使用。例如,您可以定义自定义操作。 考虑到你打算做什么,我不确定你是否需要那么大的力量

就我个人而言,我会选择休息

这里有一个链接,你可能想读一下:
像lcfseth一样,我也会去休息。REST确实是以资源为基础的,在你的情况下,你可能会认为没有资源去处理。然而,这并不完全正确,系统中的图像转换器是资源。您向其发布图像,它将返回新图像。因此,我只需创建一个URL,如:

POST http://example.com/image-converter
您将图像发布到它,它将返回一些带有新图像路径的数组

您还可能有:

GET http://example.com/image-converter
这可以告诉您图像转换的状态(假设这是一个耗时的过程)


这样做的好处是,您正在使用开发人员熟悉的HTTP谓词,接口几乎是自文档化的(当然,您仍然需要记录POST调用接受和返回的格式)。使用RPC,你必须定义新的动词并对其进行文档化。

他的问题是:我应该使用REST还是RPC?对C++代码的任何建议,让它在我执行一个操作后就开始处理?如何链接
http://example.com/image-converter从你的例子到C++代码我有什么?