RPC伪装成REST是个坏主意吗?

Chr*_*mbo 8 rest rpc web-services

我们的整个系统是围绕REST设计的,现在正在考虑如何将非常明显的RPC意图的进程映射到RESTful资源,而不使用URL中的动词.我们的远程过程调用用于在其他地方修改内容列表时重建我们的搜索索引.

我们正在考虑做的是:

POST/index_updates

<indexUpdate><contentId>123</contentId></indexUpdate>

这本身没有什么问题,但气味是这个已经创建的资源不会返回新创建的资源的URL,例如/ index_updates/1234,然后我们可以使用GET访问它.

我们使用的索引引擎确实有一个日志机制,所以理论上我们可以返回一个到index_update资源的URL,以便允许GET检索资源,但说实话我们对资源不感兴趣,因为这是只不过是伪装的RPC.

所以我的问题是RESTful是否在结构或意图中表达.我觉得我所概述的结构是宁静的,但目的却不是.

有没有人有意见或建议?

谢谢,

克里斯

Mat*_*hen 5

使用正确的工具完成工作.在这种情况下,看起来正确的工具似乎是纯粹的远程过程调用,并且没有理由假装它是REST.

  • 在我看来,解决方案是将此作为一个机会,而不是"滑坡".解释为什么这是RPC的适当情况,以及为什么您的通用架构使用REST.没有冲突. (2认同)