如何从另一个控制器调用Loopback4控制器的方法 [英] How to call Loopback4 controller's method from another controller

查看:53
本文介绍了如何从另一个控制器调用Loopback4控制器的方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a loopback 4 controller with a function that I don't want to expose via HTTP. I would like to be able to call the function from another controller.

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

How can I do this? Is there any way of injecting a controller in another controller? (I 'm able to inject repositories in controllers, but not controllers in other controllers).

推荐答案

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

You have to first import repository of another controller e.g.

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

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

then you have to inject it in constructor like this:-

@repository(EmailTemplateRepository) public emailTemplateRepository: EmailTemplateRepository,

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

then after you can use any function of controller like this:-

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

这篇关于如何从另一个控制器调用Loopback4控制器的方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆