应该使用什么REST方法来实现简单的进程间通信?

应该使用什么REST方法来实现简单的进程间通信?,rest,http,post,ipc,communication,Rest,Http,Post,Ipc,Communication,这与其说是一个实际问题,不如说是一个理论问题 我们有一个后端应用程序,它将csv文件上传到前端应用程序,然后后端发送一个空POST请求,告诉前端开始处理这些文件以更新其数据库 对于这个问题,不管这是否是一个好的设计(我认为不是),这些文件是什么,数据库是什么:我只想更好地了解其余的“sintax” 我指的是和,但我不相信有任何替代方案,因为: 获取:请求发送方未接收数据 POST(当前使用的):请求发送方不希望插入请求正文中的数据(仅来自外部文件的数据,如果存在的话。它们也可以是insert/

这与其说是一个实际问题,不如说是一个理论问题

我们有一个后端应用程序,它将csv文件上传到前端应用程序,然后后端发送一个空POST请求,告诉前端开始处理这些文件以更新其数据库

对于这个问题,不管这是否是一个好的设计(我认为不是),这些文件是什么,数据库是什么:我只想更好地了解其余的“sintax”

我指的是和,但我不相信有任何替代方案,因为:

  • 获取:请求发送方未接收数据
  • POST(当前使用的):请求发送方不希望插入请求正文中的数据(仅来自外部文件的数据,如果存在的话。它们也可以是insert/update/delete)
  • PUT:听起来不错,但同样,数据不在请求主体上
  • 补丁:听起来不错,但数据不在正文中(还有,我错了,或者它是不推荐的/未使用的?)
  • 删除:并不总是需要删除
我知道使用POST请求让机器互相喊“开始!”是一种习惯,但我从未想过这是对的。
从理论上讲,您认为什么是合适的方法?

HTTP方法的语义的实际引用是,而不是您在问题中引用的


POST
是一种包罗万象的方法,要求目标资源根据资源自身的特定语义处理请求中包含的表示

POST
方法请求目标资源处理 根据资源的属性,请求中包含的表示形式 拥有特定的语义。例如,
POST
用于以下内容 职能(除其他外):

  • 提供数据块,例如输入HTML的字段 表单,以进行数据处理过程

  • 将消息发布到公告栏、新闻组、邮件列表, 博客,或类似的文章组

  • 创建尚未由 源服务器;及

  • 将数据附加到资源的现有表示形式

[……]

POST
请求的响应只有在包含 明确的新鲜度信息。然而,
POST
缓存并没有得到广泛的实现


HTTP方法的语义的实际引用是,而不是您在问题中引用的


POST
是一种包罗万象的方法,要求目标资源根据资源自身的特定语义处理请求中包含的表示

POST
方法请求目标资源处理 根据资源的属性,请求中包含的表示形式 拥有特定的语义。例如,
POST
用于以下内容 职能(除其他外):

  • 提供数据块,例如输入HTML的字段 表单,以进行数据处理过程

  • 将消息发布到公告栏、新闻组、邮件列表, 博客,或类似的文章组

  • 创建尚未由 源服务器;及

  • 将数据附加到资源的现有表示形式

[……]

POST
请求的响应只有在包含 明确的新鲜度信息。然而,
POST
缓存并没有得到广泛的实现


在这些场景中,接收应用程序知道CSV文件的位置并监视该位置。当它找到一个时,它会处理它,然后删除或归档它。应用程序可能会有自己的标准来考虑自己是否准备好处理,例如时间、文件大小等

如果前端的数据加载需要很长时间,您可以根据“重要性”对更新进行“分区”。如何定义重要性取决于您的业务规则。然后,您可以将CSV文件名/位置列表发布到前端。名单将按重要性排序。然后,前端可以根据重要性更新其数据库。为一天中更合适的时间安排不太重要的数据


如果后端知道新用户和更新用户之间的差异,您可以使用
PUT
POST
。前端可以为与新用户相关的
PUT
请求分配更高的优先级,可能在
POST
请求中为CSV文件名分配较低的优先级和交错同步。

在这些情况下,接收应用程序知道CSV文件将在哪里,并监视该位置。当它找到一个时,它会处理它,然后删除或归档它。应用程序可能会有自己的标准来考虑自己是否准备好处理,例如时间、文件大小等

如果前端的数据加载需要很长时间,您可以根据“重要性”对更新进行“分区”。如何定义重要性取决于您的业务规则。然后,您可以将CSV文件名/位置列表发布到前端。名单将按重要性排序。然后,前端可以根据重要性更新其数据库。为一天中更合适的时间安排不太重要的数据


如果后端知道新用户和更新用户之间的差异,您可以使用
PUT
POST
。前端可以为与新用户相关的
PUT
请求分配更高的优先级,可能会为
POST
请求中的CSV文件名分配较低的优先级和交错同步。

您非常正确,我喜欢您的答案,但是