是否有一种惯用的方法来实现这一目标:
我需要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 |
|<--------------|
答案 0 :(得分:1)
从逻辑上讲,我觉得这可能是通过某种国家财产来解决的。如果您使用的是JSON,您可以考虑添加如下属性:
{
"draft" : true
}
第一次执行PUT请求时,将项目标记为草稿。它存储该项目,但不对其进行任何其他操作。
服务器接受您的请求后,您可以在其他地方执行“相关工作”,如果成功,您可以向同一资源提交另一个PUT请求,这次将draft
设置为{{1 }}