服务
基本使用
使用服务来实现业务逻辑。服务和控制器一样,会被 IoC 容器托管在请求作用域。一个服务可以被控制器或其他服务注入使用。
import { RequestContet, Service, Ctx } from 'bwcx-ljsm';
@Service()
export default class UserService {
constructor(
// Service 中也可以访问 ctx
@Ctx() private ctx: RequestContext;
) {}
async getUsers() {
// 查询用户
}
}
在 Controller 中注入服务:
import { Inject } from 'bwcx-core';
import { RequestContet, Controller, Ctx, Get } from 'bwcx-ljsm';
@Controller('/user')
export default class UserController {
constructor(
@Ctx() private ctx: RequestContext,
@Inject() private userService: UserService,
) {}
@Get('/get')
async getUsers() {
return {
rows: await this.userService.getUsers(),
};
}
}
TIP
@Service()
默认作用域是 Deferred
。