c++ - C++ API 的 REST 与 RPC

标签 c++ api rest rpc

我正在编写一个用作 Web 服务的 C++ API。 API 中的函数将 images/path_to_images 作为输入参数,对其进行处理,并给出一组不同的 images/paths_to_images 作为输出。我正在考虑实现一个 REST 接口(interface),以使开发人员能够将此 API 用于他们的项目(与他们喜欢使用的任何语言无关)。但是,我知道 REST 仅在您拥有要查询或操作的数据集合时才有用,而这里的情况并非如此。 [我拥有的集合具有处理提供的数据的不同功能。]

那么,是我为此实现一个 RPC 接口(interface)更好,还是可以使用 REST 本身来完成?

最佳答案

与 lcfseth 一样,我也会选择 REST。 REST 确实是基于资源的,在您的情况下,您可能会认为没有资源可以处理。然而,这并不完全正确,您系统中的图像转换器就是资源。您将图像发布到它并返回新图像。所以我会简单地创建一个 URL,例如:

POST http://example.com/image-converter

您将图像发布到它,它返回一些包含新图像路径的数组。

潜在地,您还可以:

GET http://example.com/image-converter

这可以告诉您图像转换的状态(假设这是一个耗时的过程)。

这样做的好处是您可以重复使用开发人员熟悉的 HTTP 动词,界面几乎是自记录的(当然您仍然需要记录 POST 调用接受和返回的格式).使用 RPC,您必须定义新动词并记录它们。

关于c++ - C++ API 的 REST 与 RPC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10778417/

相关文章:

c++ - 我必须手动重新抛出异常吗?

php - 如何在 php 中接收 xml 请求并发送响应 xml?

django - ReactJS 和 Django 之间的安全身份验证

rest - asp.net Web Api - 默认错误消息

javascript - Chrome 开发者工具可确定代码中何处执行 REST 调用?

c++ - 将 vector 成员(结构)传递给函数

c++ - 链接列表错误,C++

c++ - 我可以将 enable_if 与 typedef 一起使用吗?

javascript - 如何在内部调用快速导出方法?

java - Spring MVC 应用程序中相对 URL 的正确基础是什么?