我有一个Loopback 4控制器,该控制器具有我不想通过HTTP公开的功能。我希望能够从另一个控制器调用该函数。
我该怎么做?有没有办法将一个控制器注入另一个控制器? (我可以在控制器中注入存储库,但不能在其他控制器中注入控制器。)
答案 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