美文网首页
nest Providers

nest Providers

作者: baiqingchun | 来源:发表于2020-07-07 07:23 被阅读0次

提供程序是Nest的基本概念。 许多基本的Nest类都可以被视为提供程序-服务,存储库,工厂,帮助程序等。 提供程序的主要思想是它可以注入依赖项。 这意味着对象可以彼此创建各种关系,并且“连接”对象实例的功能可以在很大程度上委派给Nest运行时系统。 提供者只是一个用@Injectable()装饰器注释的类。

import { Injectable } from '@nestjs/common';
import { Cat } from './interfaces/cat.interface';

@Injectable()
export class CatsService {
  private readonly cats: Cat[] = [];

  create(cat: Cat) {
    this.cats.push(cat);
  }

  findAll(): Cat[] {
    return this.cats;
  }
}

也可以使用命令创建 service

nest g service cats

我们的CatsService是具有一个属性和两个方法的基本类。 唯一的新功能是它使用@Injectable()装饰器。 @Injectable()装饰器附加元数据,该元数据告诉Nest此类是Nest提供程序。 顺便说一下,该示例还使用了Cat接口,该接口可能看起来像这样:

export interface Cat {
  name: string;
  age: number;
  breed: string;
}

在 controller 中使用

import { Controller, Get, Post, Body } from '@nestjs/common';
import { CreateCatDto } from './dto/create-cat.dto';
import { CatsService } from './cats.service';
import { Cat } from './interfaces/cat.interface';

@Controller('cats')
export class CatsController {
  constructor(private catsService: CatsService) {}

  @Post()
  async create(@Body() createCatDto: CreateCatDto) {
    this.catsService.create(createCatDto);
  }

  @Get()
  async findAll(): Promise<Cat[]> {
    return this.catsService.findAll();
  }
}
import { Module } from '@nestjs/common';
import { CatsController } from './cats/cats.controller';
import { CatsService } from './cats/cats.service';

@Module({
  controllers: [CatsController],
  providers: [CatsService],
})
export class AppModule {}

相关文章

  • nest Providers

    提供程序是Nest的基本概念。 许多基本的Nest类都可以被视为提供程序-服务,存储库,工厂,帮助程序等。 提供程...

  • Nest(四):Providers

    译自:https://docs.nestjs.com/providers。 Providers是Nest中的一个基...

  • 三、Providers

    说明 Providers 在nest内是服务或者功能的提供则,nest内很多类都通过privider实现,如ser...

  • Nest.js - Providers

    参考文档 controllers处理 HTTP 请求并将更复杂的任务委托给providers. Provider ...

  • Nest.js学习之路(6)-Providers & D

    Controller负责处理Request及产生Response,数据库存取或是业务逻辑(business log...

  • nest入门

    1.什么事nest.js 2.nest安装 下面就是nest项目的目录 3.nest执行 这样一个nest的基础项...

  • Content Providers

    这是我对官方文档的一个渣翻译,兼我的学习笔记,原文在此。 Content providers 内容提供器可以帮助应...

  • 【Nest 极速指南】基础篇

    这篇文章你会学习到: 什么是 Nest 开发环境 & 安装 Hello World 什么是 Nest Nest 是...

  • [Next] 一.初见next.js

    github => nest-starter nest 介绍 Nest 是一个用于构建高效,可扩展的 Node.j...

  • [Nest] 01.初见nest.js

    github => nest-starter nest 介绍 Nest 是一个用于构建高效,可扩展的 Node.j...

网友评论

      本文标题:nest Providers

      本文链接:https://www.haomeiwen.com/subject/pltfqktx.html