Api 将vs POST置于审核表或修订历史情况中

Api 将vs POST置于审核表或修订历史情况中,api,rest,post,put,audit-tables,Api,Rest,Post,Put,Audit Tables,假设我有一个REST方法来更新记录。这显然是一篇文章,因为它正在更新一个资源。然而,在同一动议中,需要在审核或修订历史记录表中创建新记录 这里是否有一个标准或最佳实践,是使用POST还是PUT REST方法是来自用户端发生的事情,还是来自数据库中发生的事情 一种可能是只调用一个方法,该方法更新一个表中的记录,并在另一个表中创建新记录 另一种可能是强制POST只更新一个表,并且需要一个额外的方法在审计表中执行PUT。这迫使使用2种方法,并将责任推到开发人员身上,我对此不太感兴趣。PUT实际上建议替

假设我有一个REST方法来更新记录。这显然是一篇文章,因为它正在更新一个资源。然而,在同一动议中,需要在审核或修订历史记录表中创建新记录

这里是否有一个标准或最佳实践,是使用POST还是PUT

REST方法是来自用户端发生的事情,还是来自数据库中发生的事情

一种可能是只调用一个方法,该方法更新一个表中的记录,并在另一个表中创建新记录


另一种可能是强制POST只更新一个表,并且需要一个额外的方法在审计表中执行PUT。这迫使使用2种方法,并将责任推到开发人员身上,我对此不太感兴趣。

PUT
实际上建议替换(更新)现有记录

PUT方法请求将封闭的实体存储在提供的请求URI下。如果请求URI引用的是一个已经存在的资源,则应将包含的实体视为驻留在源服务器上的实体的修改版本

还有一些关于
POST
PUT
之间差异的信息:

POST和PUT请求之间的根本区别体现在请求URI的不同含义上。POST请求中的URI标识将处理封闭实体的资源。该资源可能是一个数据接受进程、到其他协议的网关,或者是一个接受注释的单独实体。相反,PUT请求中的URI标识了请求所包含的实体——用户代理知道URI的用途,服务器不得尝试将请求应用于其他资源

在我看来,您应该使用
PUT
请求来更新资源。审计是这样做的一个副作用,因此它应该作为
PUT
ting新资源的一部分来处理