【发布时间】:2015-07-24 08:47:51
【问题描述】:
我在表 (as described here) 上启用了软删除功能。 如何使用 REST API 软删除/将行标记为已删除?
Rest API 告诉您如何在 query statement 中包含已删除的记录,但没有说明如何将一条记录标记为已删除。
我尝试发送更新查询,但收到:
{
"code":400,
"error":"Error: The property '__deleted' can not be set. Properties that begin with a '__' are considered system properties."
}
我也尝试使用 DELETE 方法,但实际上删除了记录。
任何帮助表示赞赏!
编辑:
@phillipv 要求提供更多信息:我正在使用 Swift 和 Alamofire 框架。但即使我像这样使用curl:
curl -i \
-X DELETE \
-b "ARRAffinity=XXXXX" \
-H "x-zumo-auth: XXXXXXXX" \
-H "x-zumo-application: XXXXXXX" \
"https://myproject.azure-mobile.net/tables/myTable/BB65C071-6425-44BA-BB63-EBF4D9BF37A1"
记录被(硬)删除。
我对现有表(创建于 2014 年初)启用了软删除功能会不会是个问题?对于没有__deleted 列的所有表,都有一个指向Enable soft delete 的按钮。在相关表格中,按钮不存在,因为我启用了该功能,并且在列视图中列出了 __deleted 列。
编辑2:
我刚刚创建了一个新的测试表,用一些示例数据填充了它,并执行了完全相同的DELETE 调用,并且该记录仅被标记为已删除。
好的,这很好,就像@phillipv 在 cmets 中所说的那样。但是现在出现了一个新问题:
如何使用 REST API 硬删除记录?
【问题讨论】:
-
如果设置成功,DELETE 应将其标记为软删除。您能否更新问题以显示您的配置(或至少您正在使用的后端)
-
@phillipv 看到我的编辑。如果 DELETE 软删除了一条记录,我该如何使用 REST API 硬删除一条记录?
标签: rest azure-mobile-services