在服务中实现应用程序的业务逻辑。例如,要在 `cats` 服务中实现一个 `findAll()` 方法,可以添加以下代码:
“`typescript
import { Injectable } from ‘@nestjs/common’;
@Injectable()
export class CatsService {
private readonly cats: string[] = [‘Tom’, ‘Jerry’, ‘Kitty’];
findAll(): string {
return `There are ${this.cats.length} cats: ${this.cats.join(‘, ‘)}`;
}
}
“`
上面的代码中,`@Injectable()` 装饰器将该类标记为可注入的服务,`cats` 属性存储了所有的猫的名称,`findAll()` 方法返回所有猫的名称。
6. 在模块中引入控制器和服务。
在 Nest.js 中,模块是应用程序的基本组织单元。要使用控制器和服务,需要在模块中将它们引入。例如,要在 `app` 模块中引入 `cats` 控制器和服务,可以添加以下代码:
“`typescript
import { Module } from ‘@nestjs/common’;
import { CatsController } from ‘./cats.controller’;
import { CatsService } from ‘./cats.service’;
@Module({
controllers: [CatsController],
providers: [CatsService],
})
export class AppModule {}
“`
上面的代码中,`@Module()` 装饰器将该类标记为 Nest.js 模块,`controllers` 数组指定了该模块中使用的控制器,`providers` 数组指定了该模块中使用的服务。
7. 启动应用程序。
在 `main.ts` 文件中,创建一个 Nest.js 应用程序实例并启动它。例如:
“`typescript
import { NestFactory } from ‘@nestjs/core’;
import { AppModule } from ‘./app.module’;
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(3000);
}
bootstrap();
“`
上面的代码中,`NestFactory.create()` 方法创建了一个 Nest.js 应用程序实例,`AppModule` 是应用程序的主模块,`app.listen(3000)` 启动了应用程序并监听 3000 端口。