所以我有一个具有以下相关关系的场地模型:
relations": {
"events": {
"type": "hasMany",
"model": "event"
},
},
在事件中我的关系为:
"relations": {
"venue": {
"type": "belongsTo",
"model": "venue",
"foreignKey": "venueId",
"options": {
"validate": true,
"forceId": false
}
}
},
在资源管理器中,它向我显示我可以获取,放置,发布,修补,更新和删除venue/:id/events
我在哪里以及如何说:无论您是谁,这种特定关系只能获得GET访问权限而不是其他内容?
答案 0 :(得分:2)
对于hasMany
Loopback添加了以下方法:
__findById__events
__destroyById__events
__updateById__events
__get__events
__create__events
__delete__events
__count__events
由于您只想获取访问权限,我们会保留findById
,get
和count
,并停用其他内容。
假设您使用的是Loopback 3,您可以在模型中执行此操作:
Message.disableRemoteMethodByName('prototype.__destroyById__events');
Message.disableRemoteMethodByName('prototype.__updateById__events');
Message.disableRemoteMethodByName('prototype.__create__events');
Message.disableRemoteMethodByName('prototype.__delete__events');
请查看the documentation以获取更多信息。
如果您使用Loopback 2,则应该执行此操作(由Kiley Hykawy初始编写):
Message.disableRemoteMethodByName('__destroyById__events', false);
Message.disableRemoteMethodByName('__updateById__events', false);
Message.disableRemoteMethodByName('__create__events', false);
Message.disableRemoteMethodByName('__delete__events', false);
false
需要表明它是一个非静态方法,就像LoopBack 3的原型一样。