我正在努力正确配置 inversify-express-utils 服务。我正在尝试使用两个控制器,但 inversify 似乎只发现了其中一个。
以我目前的配置,helloController
似乎只是在注册。请求GET .../api/v1/hello
按预期响应 200 OK。但是,请求以GET .../api/health
404 NOT FOUND 响应。
我究竟做错了什么?
这是我当前的配置:
src
│
└──api
│ index.ts
│
└──controller
│ index.ts
│ healthController.ts
│
└──v1
│ index.ts
│ helloController.ts
src/api/index.ts
import "reflect-metadata"
import {Container} from "inversify"
import {InversifyExpressServer} from "inversify-express-utils"
import "./api/controller"
const inversifyContainer = new Container()
const server = new InversifyExpressServer(inversifyContainer)
const serverInstance = server.build()
serverInstance.listen(3000)
src/api/controller/index.ts
export * from "./healthController"
export * from "./v1/"
src/api/controller/healthController.ts
import {Request, Response} from "express"
import {BaseHttpController, controller, httpGet} from "inversify-express-utils"
@controller('/')
export class HealthController extends BaseHttpController {
constructor(){ super() }
@httpGet('/health')
private health(req: Request, resp: Response) {
resp.json({uptime: process.uptime()})
}
}
src/api/controller/v1/index.ts
export * from "./helloController"
src/api/controller/v1/helloController.ts
import {Request, Response} from "express"
import {BaseHttpController, controller, httpGet} from "inversify-express-utils"
@controller('/v1/hello')
export class helloController extends BaseHttpController {
@httpGet('/')
private hello(req: Request, resp: Response) {
resp.send("Hello, World!")
}
}