使用 PATCH 恢复 soft_delete 导致 422 未知字段“_deleted”
Restoring soft_delete using PATCH results in 422 unknown field "_deleted"
在 python-eve 0.6 中使用 soft_deletes 并设置一个函数来恢复删除,但我得到一个 422(无法处理的实体)错误
{"_status": "ERR", "_issues": {"_deleted": "unknown field"}}
这是来自 GET
的 json 响应
{
"_updated": "Tue, 02 Jun 2015 23:58:50 GMT",
"_latest_version": 2,
"_error": {
"message": "The requested URL was not found on this server.",
"code": 404
},
"title": "Kimberli Dygert",
"_version": 2,
"_deleted": true,
"_links": {
"self": {
"href": "items\/556cdaf4ee67bd0717181826",
"title": "item"
}
},
"_created": "Mon, 01 Jun 2015 22:21:40 GMT",
"_status": [
"ERR"
],
"_id": "556cdaf4ee67bd0717181826",
"_etag": "d48684051f506ea70590682d1705f18a74faea2f"
}
以及我用来尝试恢复 soft_delete
的函数
this.restore = function (id, etag) {
var req = {
method: 'PATCH',
url: urlBase + '/' + id,
headers: {
//'Content-Type': 'application/json',
'If-Match': etag
},
data: { '_deleted': false }
};
return $http(req);
};
与 _etag
或 _updated
和 _created
字段一样,_deleted
是由 Eve 管理的特殊元字段。客户不应该直接编辑该字段,您也不需要为了恢复软删除的文档而这样做。对软删除文档发出的有效 PATCH(或 PUT)请求会自动恢复文档,Eve 会相应地更新 _deleted
字段。只需从您的 PATCH 请求中删除 '_deleted': false
,文档就会按预期恢复。
在 python-eve 0.6 中使用 soft_deletes 并设置一个函数来恢复删除,但我得到一个 422(无法处理的实体)错误
{"_status": "ERR", "_issues": {"_deleted": "unknown field"}}
这是来自 GET
的 json 响应{
"_updated": "Tue, 02 Jun 2015 23:58:50 GMT",
"_latest_version": 2,
"_error": {
"message": "The requested URL was not found on this server.",
"code": 404
},
"title": "Kimberli Dygert",
"_version": 2,
"_deleted": true,
"_links": {
"self": {
"href": "items\/556cdaf4ee67bd0717181826",
"title": "item"
}
},
"_created": "Mon, 01 Jun 2015 22:21:40 GMT",
"_status": [
"ERR"
],
"_id": "556cdaf4ee67bd0717181826",
"_etag": "d48684051f506ea70590682d1705f18a74faea2f"
}
以及我用来尝试恢复 soft_delete
的函数this.restore = function (id, etag) {
var req = {
method: 'PATCH',
url: urlBase + '/' + id,
headers: {
//'Content-Type': 'application/json',
'If-Match': etag
},
data: { '_deleted': false }
};
return $http(req);
};
与 _etag
或 _updated
和 _created
字段一样,_deleted
是由 Eve 管理的特殊元字段。客户不应该直接编辑该字段,您也不需要为了恢复软删除的文档而这样做。对软删除文档发出的有效 PATCH(或 PUT)请求会自动恢复文档,Eve 会相应地更新 _deleted
字段。只需从您的 PATCH 请求中删除 '_deleted': false
,文档就会按预期恢复。