Javascript 未调用环回中的远程方法
在我的环回项目中调用远程方法时,它似乎只返回一个空数组。我不认为它真的被调用了,但是也许默认的实现被调用了 member.jsJavascript 未调用环回中的远程方法,javascript,rest,loopbackjs,Javascript,Rest,Loopbackjs,在我的环回项目中调用远程方法时,它似乎只返回一个空数组。我不认为它真的被调用了,但是也许默认的实现被调用了 member.js module.exports = function(Member) { Member.getProjectsForMember = function(id, callback) { console.error('HERE'); return callback(null, {'test': '123'}); }; }; member.json {
module.exports = function(Member) {
Member.getProjectsForMember = function(id, callback) {
console.error('HERE');
return callback(null, {'test': '123'});
};
};
member.json
{
"name": "member",
"base": "User",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"name": {
"type": "string",
"required": true
}
},
"validations": [],
"relations": {
"projects": {
"type": "hasMany",
"model": "project",
"options": {
"nestRemoting": false
}
}
},
"acls": [{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$authenticated",
"permission": "ALLOW"
},
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$unauthenticated",
"permission": "DENY"
}
],
"methods": {
"getProjectsForMember": {
"accepts": [{
"arg": "id",
"type": "number",
"required": true,
"http": {
"source": "path"
}
}],
"returns": [{
"arg": "projects",
"type": "Object",
"root": true,
}],
"http": [{
"path": "/:id/projects",
"verb": "get"
}]
}
}
}
我使用环回API资源管理器通过GET to/members/{id}/projects调用它:
http://localhost:3000/api/members/3e26u0aa62155715vcb52afa/projects?access_token=R6GKVHwFuMG2caJexuyoMd0JSNOWtvLVXIEmRj1IkNSrM54bwomQLxHcpqlyFaHk
响应是
[]
。我希望看到{'test':'123'}
的响应和登录到终端的'HERE',但我没有看到。该代码对我来说是正确的。是否将方法名称添加到model-config.json?(我想是的,因为如果没有它,就不可能向“/:id/projects”端点发出请求。)我确实在model-config.json中添加了模型名(而不是方法名)。我发现只有当我从member.json中删除关系定义时,这才有效。。。