用于PUT或POST的REST"干运行"选项

tho*_*dge 7 rest

是否有一种惯用的方式来实现这一目标:

我需要PUT/POST一个给定的实体.但是,在实际放置它之前,我需要在更易变的系统上做一些更改,如果可行,我会继续.

所以我先问一下PUT/POST是否可以接受,然后再实际进行PUT/POST.

我想过只使用一个"干运行"的查询参数,但感觉不是正确的方法.

更新:试图澄清我的问题.关键是第一个PUT仅用于验证实体.

Me           System A       Volatile System X
|    Dry PUT    |                    :
|-------------->|                    :
|               |                    :
|   20x / 40x   |                    :
|<--------------|                    :
|               :                    :
| Upon PUT OK do some related work   :
|----------------------------------->|
|               :                    |
| Work completely                    |
|<-----------------------------------|
|               :
|PUT (for real) :
|-------------->|
|               |
|     20x       |
|<--------------|
Run Code Online (Sandbox Code Playgroud)

Eve*_*ert 4

从逻辑上讲,我觉得这个问题也许可以通过某种国有财产来解决。如果您使用 JSON,您可以考虑添加如下属性:

{
  "draft" : true
}
Run Code Online (Sandbox Code Playgroud)

第一次执行 PUT 请求时,您将该项目标记为草稿。它存储该项目,但不对其执行任何其他操作。

服务器接受您的请求后,您可以在其他地方执行“相关工作”,如果也成功,您可以向同一资源提交另一个 PUT 请求,这次设置draftfalse