API POST调用 - 批量发送数据与串行发送数据

时间:2015-10-01 10:28:08

标签: api rest post http-post restful-architecture

我想知道批量发送数据与发送多个POST请求以发送数据之间的区别。例如: -

我有一个端点/data。我想知道将数据作为一个API调用发送,即在列表中发布数据

之间的区别
[
    {'key1':value1,'key2':value2,'key3':value3},
    {'key1':value11,'key2':value21,'key3':value31},
    {'key1':value12,'key2':value22,'key3':value32},
    {'key1':value13,'key2':value23,'key3':value33},
]

vs在端点/data上进行多次调用,在这种情况下,4个调用逐个发送数据。

1 个答案:

答案 0 :(得分:1)

我看到两个主要区别:

  • 性能,因为网络延迟导致一次呼叫比几次呼叫快。
  • 原子性/交易。您可以定义一组数据以与bluk请求保持一致。一切都添加或没有。由于对一组HTTP请求使用事务是很棘手的,因此很难通过多次调用来实现它。仅使用请求可以更容易地执行此类问题。你可以注意到你没有必要采取你期望的行为。

此外,如果您想使用POST方法支持这两种方法(添加单个元素和几个元素),您需要做一些工作来检测您的情况。您可以依赖收到的内容(数组与否)或利用自定义操作标题。

我写了一篇关于RESTfuk服务中批量更新的博文:https://templth.wordpress.com/2015/05/14/implementing-bulk-updates-within-restful-services/。也许它会让你感兴趣......

希望它可以帮到你, 亨利