我有这个错误
Unhandled error in POST /client: 500 Error: The key 'controllers.pointController' is not bound to any value in context application
我的班级
constructor(
@repository(ClientRepository)
public clientRepository: ClientRepository,
// Controllers
@inject('controllers.pointController')
public pointController: PointController,
) {
}
// functions
我遵循loopback4和依赖项注入的文档,但不起作用
任何想法?
默认情况下,LoopBack在绑定控制器类时使用PascalCase键,请参见例如此测试:
expect(binding.key).to.equal('controllers.MyController');
您的示例没有提供足够的信息,因此我假设您的控制器在PointController
文件中定义为类src/controllers/point.controller.ts
,并且您正在使用@loopback/boot
加载和注册应用程序的工件。
在那种情况下,您需要按以下步骤修复代码-注意大写的P
:
@inject('controllers.PointController')
其他信息
将来,您可以使用调试日志来查找为不同工件创建的绑定密钥。在Unix(MacOS,Linux)上:
DEBUG=loopback:context:binding npm start
在调试日志中,您应该看到如下消息:
loopback:context:binding Bind controllers.PointController to class PointController
controllers.PointController
部分是用于@inject
的绑定键,PointController
部分是控制器类的名称。