Compartir tecnología

Una introducción a los proveedores [NestJs] en un artículo

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Serie de aprendizaje Nest

✈️Comience con [NestJS] en un artículo
✈️Introducción a los controladores [NestJs] en un artículo

🚩 前言

En el mundo de NestJS, comprender a los "Proveedores" es la clave para crear servicios backend sólidos y fáciles de mantener. NestJS, como marco moderno para Node.js, adopta algunos conceptos básicos de Angular, como la inyección de dependencia (DI), y los aplica al desarrollo del lado del servidor. Este artículo profundizará en el mecanismo de proveedores en NestJS, analizará cómo funciona y cómo utilizarlos para optimizar su aplicación.

🚩什么是 Providers

En NestJS, un proveedor es cualquier objeto que el contenedor DI puede administrar e inyectar. Puede ser una clase, un valor, una función de fábrica o una interfaz abstracta. La función principal de los Proveedores es proporcionar servicios, valores o fábricas, que pueden ser compartidos y reutilizados por otros módulos o componentes.

Aprendí sobre el Controlador de Nest en el artículo anterior. Este artículo presenta otro punto de conocimiento importante: los proveedores pueden entenderse como la parte del Controlador que proporciona servicios, y también pueden denominarse servicios;

🚩如何创建一个 service

Noticias del servicio Nest G

Este es un servicio simple que actualmente tiene dos funciones: una es devolver una lista de todas las noticias y la otra es crear un dato.
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí

🚩service如何为controller提供服务

inyección de dependencia

El primer paso: introducir el servicio correspondiente y el tipo de interfaz correspondiente en el controlador

noticias.controlador.ts

import { NewsService } from './news.service';
import { News } from './interfaces/news.interface';
  • 1
  • 2

Paso 2: inyectar a través del constructor (servicio de noticias privado: servicio de noticias) {}

@Controller('news')
export class NewsController {
	constructor(private  newsService: NewsService) {}
	.....
}
  • 1
  • 2
  • 3
  • 4
  • 5

Paso 3: Úselo en el decorador de solicitudes correspondiente

@Controller('news')
export class NewsController {
	constructor(private  newsService: NewsService) {}
 	@Get('/page')
	async getNewsPageList(@Query() query: string): Promise<News[]> {
        console.log(query);
        return this.newsService.getNewsPageList();
    }

   @Post('/create')
   async  createNews(@Body() createNewsDto: CreateNewsDto) {
        console.log(createNewsDto,'添加参数');
        return this.newsService.createNews(createNewsDto);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

Paso 4: Regístrese en app.module

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { NewsController } from './news/news.controller';
import { NewsService } from './news/news.service';

@Module({
  imports: [],
  controllers: [AppController, NewsController],
  providers: [AppService,NewsService],
})
export class AppModule {}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

Conclusión

Dominar los proveedores en NestJS significa que puede crear mejores servicios backend modulares y escalables. Al utilizar los proveedores correctamente, puede administrar fácilmente las dependencias y mejorar la legibilidad y el mantenimiento del código. Ya sea que esté creando una arquitectura de microservicio compleja o un servicio API simple, el mecanismo DI de NestJS será una herramienta indispensable para usted.