【发布时间】:2012-12-09 03:18:38
【问题描述】:
我想知道我目前的方法是否有意义,或者是否有更好的方法。
我有多种情况,我想创建新对象并让服务器为这些对象分配一个 ID。发送 POST 请求似乎是最合适的方式。 然而,由于 POST 不是幂等的,请求可能会丢失,再次发送它可能会创建第二个对象。此外,由于 API 经常通过移动网络访问,因此丢失请求可能很常见。
因此,我决定将整个过程分为两步:
-
首先发送一个 POST 请求以创建一个新对象,该对象在 Location 标头中返回新对象的 URI。
-
第二次对提供的位置执行幂等 PUT 请求,以用数据填充新对象。如果新对象未在 24 小时内填充,服务器可能会通过某种批处理作业将其删除。
这听起来合理还是有更好的方法?
【问题讨论】:
标签: http rest post put idempotent