用于批量更新的restful服务

用于批量更新的restful服务,rest,Rest,我有一个Web服务,我们打算使用它来批准交易 这是一个批处理过程,但我们认为PUT是最合适的方法,但我们相信它通常应该为单个事务保留 我们是否应该坚持此过程的PUT并传递类似于以下内容的有效负载: { "Transactions": [ { "TxId": "gtx-32", "VendorUserId" "76", "Status": "A" }, {

我有一个Web服务,我们打算使用它来批准交易

这是一个批处理过程,但我们认为PUT是最合适的方法,但我们相信它通常应该为单个事务保留

我们是否应该坚持此过程的PUT并传递类似于以下内容的有效负载:

{
    "Transactions": [
        {
            "TxId": "gtx-32",
            "VendorUserId" "76",
            "Status": "A"
        },
        {
            "TxId": "gtx-76",
            "VendorUserId" "76",
            "Status": "D"
        }
    ]
}
上述操作将TxId:gtx-32设置为状态A,TxId:gtx-76设置为状态D

然后,我们将使用状态更新的事务的json对象进行回复

如果任何一个事务请求更新到无效状态,则响应将仅具有针对该事务的“旧”状态(我们是否应该在其中包含错误消息?)

如果PUT不是在这里采用的正确方法,我们欢迎对替代方案提出建议


我们知道,这实际上只是记录的部分更新,因此不是真正的PUT,但这绝对是一个更新…

动词的意思是“将此文档放在此处”。重要的是,
PUT
请求的URL是文档应“存储”的位置,即URL上的
GET
将返回最后放置的文档

在您的情况下,除非您将批信息“上载”到特定位置,并且可以将批视为文档本身,
PUT
可能不是您的意思

相反,您可能应该使用更通用的
POST
,用于请求现有资源处理请求中包含的文档。然后,响应表示处理操作的结果


POST
可能是HTTP协议中最通用的动词。“流程”可以是您需要的任何内容,因此当您没有发现任何其他动词反映您想要执行的活动时,通常最好选择它。

动词的意思是“将此文档放在此处”。重要的是,
PUT
请求的URL是文档应“存储”的位置,即URL上的
GET
将返回最后放置的文档

在您的情况下,除非您将批信息“上载”到特定位置,并且可以将批视为文档本身,
PUT
可能不是您的意思

相反,您可能应该使用更通用的
POST
,用于请求现有资源处理请求中包含的文档。然后,响应表示处理操作的结果


POST
可能是HTTP协议中最通用的动词。“流程”可以是您需要的任何内容,因此当您没有发现任何其他动词反映您想要执行的活动时,通常最好选择它。

我无法链接文档的特定部分,但我非常喜欢Parse.com在REST中执行批处理操作的方式。CTRL+F“批处理操作”:我无法链接文档的特定部分,但我非常喜欢Parse.com在REST中执行批处理操作的方式。CTRL+F此页面上的“批处理操作”: