好吧,我是 feathersjs 的新手,我现在正试图将一个小的 express 实验移植到它上面。到目前为止,内部的工作效果很好,我可以创建一个脚手架服务的数据库条目,并且它是持久的。好的。
现在,我尝试使用 postman 向服务器发送未经身份验证的修补程序,并且不会保留更改。那一定是非常愚蠢的事情,但我现在还没有看到它。
这是受影响 hooks 的摘录:
const updateLocation = function () {
return function (hook) {
if (hook.params.query.latitude !== undefined && hook.params.query.longitude !== undefined) {
return new Promise((resolve, reject) => {
lookup({
latitude: parseFloat(hook.params.query.latitude),
longitude: parseFloat(hook.params.query.longitude)
}, (info) => {
hook.data = Object.assign(hook.data, info)
resolve(hook)
})
})
} else {
return hook
}
}
}
要删除可能一直欺骗我的所有内容,我会将其直接放在修补程序 之前挂钩:
module.exports = {
before: {
all: [],
find: [],
get: [],
create: [
disallow('external')
],
update: [
disallow('external')
],
patch: [
updateLocation()
],
remove: []
},
after: {
all: [],
find: [],
get: [],
create: [],
update: [],
patch: [
hook => console.log(hook.data)
],
remove: []
}
如果我使用纬度和经度调用 PATCH ,我会期望纬度和经度(以及 lookup 方法计算的一些其他值)将在数据库条目中替换。 之后的钩子将计算出的值打印到控制台,但它们从未找到进入数据库的路径。
那么 PATCH 是不是意味着做我期望的事情?或者我没有得到一些重要的概念?