如何从另一个控制器调用Loopback4控制器的方法

时间:2019-06-01 17:08:58

标签: javascript server loopbackjs loopback

我有一个Loopback 4控制器,该控制器具有我不想通过HTTP公开的功能。我希望能够从另一个控制器调用该函数。

我该怎么做?有没有办法将一个控制器注入另一个控制器? (我可以在控制器中注入存储库,但不能在其他控制器中注入控制器。)

2 个答案:

答案 0 :(得分:1)

您必须首先导入另一个控制器的存储库,例如

import { MemberRepository, EmailTemplateRepository } from '../repositories';

然后您必须将其注入到构造函数中,如下所示:-

@repository(EmailTemplateRepository) public emailTemplateRepository: EmailTemplateRepository,

然后您就可以使用控制器的任何功能,例如:-

const template = await this.emailTemplateRepository.findOne({
  where: {
    slug: 'user-password-reset',
    status: 1
  }
}); 

答案 1 :(得分:0)

答案在这里:https://github.com/strongloop/loopback-next/issues/3028 @inject(‘controllers.AnotherController’) c: AnotherController