Loopback 3:如何确定GET /Customers/{id}/orders端点的对应方法名?
如何在LoopBack 3中找到GET /Customers/{id}/orders对应的方法名
我来帮你梳理几种快速找到这个端点对应方法名的办法,在LoopBack 3里,因为你的Customer继承自User,而且这个是关联端点,方法名通常和模型间的关系绑定:
查看模型关系定义,推导自动生成的方法名
首先,这个端点是Customer和Order的关联接口,先去你的Customer模型文件(customer.json或者customer.js)里找relations配置,应该有类似这样的内容:"relations": { "orders": { "type": "hasMany", "model": "Order", "foreignKey": "customerId" } }LoopBack对关联自动生成的远程方法有固定命名规则:对于
hasMany类型的关联,GET类型的关联端点对应的方法名是__get__加上关系名,也就是__get__orders——这大概率就是你要找的方法名。通过本地API Explorer直接查看
启动你的LoopBack应用后,访问本地的API Explorer(默认路径是/explorer),找到GET /Customers/{id}/orders这个端点,点击进入详情页。在页面里你能直接看到该端点对应的远程方法名,一般会标注在“Remote Method”区域或者接口详情的顶部。用Debug日志验证
你可以开启LoopBack的远程方法日志来确认方法名:- 设置环境变量:
DEBUG=loopback:remote-method - 启动你的应用
- 在控制台日志里,你会看到所有注册的远程方法记录,其中就包含这条端点对应的方法名,类似这样:
loopback:remote-method Registered remote method: Customer.__get__orders
- 设置环境变量:
ACL配置示例
确认方法名后,你可以在ACL配置里这样使用(比如在customer.json的acls数组中):{ "accessType": "READ", "principalType": "ROLE", "principalId": "$authenticated", "permission": "ALLOW", "property": "__get__orders" }
内容的提问来源于stack exchange,提问作者Adee
相关产品推荐
相关产品推荐

