# 服务
Controller负责处理请求,逻辑处理的则交由Service来完成。在模块中声明为providesInjectable()装饰器附加了元数据,声明类是可以由Nest IoC 容器管理的类。- 使用cli创建控制器
nest g se service_name --no-spec --flat
/* test.service.ts */
import { Injectable } from '@nestjs/common'
@Injectable()
export class TestService<T> {
private ids: string[] = []
create() {
this.ids.push('id')
return 'hello nestjs' + this.ids.join('-')
}
}
/* test.controller.ts */
import { Controller, Get, Post } from '@nestjs/common'
import { TestService } from './test.service.ts'
@Controller('test')
export class TestController {
constructor(private test: TestService) {} // 会自动生成填充值
@Post()
addTest() {
return this.test.create()
}
}
/* test.module.ts */
import { Module } from '@nestjs/common'
import { TestController } from './test.controller.ts'
import { TestService } from './test.service.ts'
@Module({
controllers: [TestController],
providers: [TestService]
})
export class TestModule {}