2017-02-16 57 views
1

所以我有以下rellationship场地模型:限制哪些HTTP方法在环回模式的关系

relations": { 
    "events": { 
    "type": "hasMany", 
    "model": "event" 
    }, 
}, 

在我有关系的事件:

"relations": { 
    "venue": { 
     "type": "belongsTo", 
     "model": "venue", 
     "foreignKey": "venueId", 
     "options": { 
     "validate": true, 
     "forceId": false 
     } 
    } 
    }, 

在资源管理器中它告诉我,我可以得到,投入,发布,修补,更新和删除到venue/:id/events

我在哪里以及如何说:不管你是谁,这个具体的r爱情只能拥有GET权限而没有别的东西?

回答

2

对于hasMany回环增加了以下方法:

__findById__events 
__destroyById__events 
__updateById__events 
__get__events 
__create__events 
__delete__events 
__count__events 

由于您只想获得访问我们保持findByIdgetcount,并禁用休息。

假设你使用回环3,你可以在你的模型做到这一点:

Message.disableRemoteMethodByName('prototype.__destroyById__events'); 
Message.disableRemoteMethodByName('prototype.__updateById__events'); 
Message.disableRemoteMethodByName('prototype.__create__events'); 
Message.disableRemoteMethodByName('prototype.__delete__events'); 

看一看the documentation的更多信息。

如果使用的是回送2,你应该这样做,而不是(initally由Kiley Hykawy书面):

Message.disableRemoteMethodByName('__destroyById__events', false); 
Message.disableRemoteMethodByName('__updateById__events', false); 
Message.disableRemoteMethodByName('__create__events', false); 
Message.disableRemoteMethodByName('__delete__events', false); 

false需要以表明它是一个非静态方法,比如原型回送3

+0

对于LoopBack 2,您可以在您的模型中执行此操作: Message.disableRemoteMethodByName('__ destroyById__events',false); MessageDisableRemoteMethodByName('__ updateById__events',false); Message.disableRemoteMethodByName('__ create_events',false); MessageDisableRemoteMethodByName('__ delete__events',false); Message.disableRemoteMethodByName('__ count__events',false); false需要表明它是一个非静态方法,如LoopBack 3的原型。 –

+0

@KileyHykawy我在你的许可下添加了答案。 –