我正在考虑使用Loopback来构建RESTFull API,内部使用。我目前正在对API的一小部分进行原型设计,以评估限制和工作量。 我有一个很大的限制:我被允许创建/读取/更新,但是对于删除,我更新了数据库条目以将其标记为“已删除”(数据库中的布尔值)。我不允许在物理上删除数据库条目。
我有一个PersistedModel,以及对象之间的某种关系(依赖关系,就像来自另一个对象的一个对象)。
我的问题是:有没有办法覆盖后台完成的DELETE操作并输入一些自定义代码:
使用DELETE api调用时?
谢谢你的建议。
答案 0 :(得分:0)
要覆盖删除方法,您可以使用下一个代码。根据它创建一个mixin并附加每个必需的模型
module.exports = function(Model) {
Model.removeById = Model.deleteById = Model.destroyById = function(id, options, cb) {
if (cb === undefined) {
if (typeof options === 'function') {
// destroyById(id, cb)
cb = options;
}
}
cb = cb || createPromiseCallback();
Model.update({id: id, {deleted: true}, options, cb})
return cb.promise;
};
}