首页 > 解决方案 > 通过后续调用HTTP API推送海量数据:verb to commit操作

问题描述

我将实现一组 API,使客户端能够通过 HTTP 调用将大型数据集推送到服务器。

为了符合 REST,我设计了我的 API,以便如果(相对)URL 上有一组资源可用:

/我的实体

提供以下调用:

   发布 /myEntities/Partials
   补丁 /myEntities/Partials/{id}
   删除 /myEntities/Partials/{id}

我对最后一次调用并不满意,因为尽管有动词 (DELETE),但它不仅删除了一组(部分)资源,而且还创建了新的(完整)资源。

我还想用类似的东西替换最后一个电话:

   POST /myEntities(需要 {id} 作为正文中的参数)

这样一来,问题就迎刃而解了:动词(POST)不仅创建了一组新资源,而且还删除了一组部分资源。

我想知道是否有正确的动词来执行创建一组新实体并删除部分实体的原子操作。

注意:官方 HTTP 规范 RFC 2616 和 RFCs 7230-7235,除了标准方法的定义外,还允许自定义方法,但我想避免发明新方法!

相关问题: 如何设计HTTP API来推送海量数据?

标签: resthttpdesign-patternshttpverbs

解决方案


推荐阅读