我想在添加到公共(public) REST 端点的 Hook 中使用内部定义的服务,这可能吗?
通过内部定义,我指的是使用feathers-common-hooks中的disallow钩子(Hook)。
app.service('/api/internal/helper').hooks( { before: { all: disallow('rest') } } )
该钩子(Hook)会查看 context
对象中的 provider
是否与我禁用的内容匹配。即,如果使用 disallow('rest'),则会禁止从 REST 访问该服务。
问题是我想在附加到公共(public)服务的 Hook 中使用这个内部 helper
服务,但还没有找到这样做的方法。当内部服务被调用时,provider
仍然休息并且调用被阻止。
最佳答案
这些钩子(Hook)的作用是寻找 params.provider正在设置。任何未设置 params.provider 的内容都被视为内部调用。如果您想将其他参数传递给内部调用,您可以例如_.omit provider
属性:
app.service('/api/internal/helper').find(omit(context.params, 'provider'))
关于javascript - 如何使用 FeathersJs 在钩子(Hook)中设置和访问内部服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54553324/