Teknologian jakaminen

Johdatus [NestJs]-palveluntarjoajiin yhdessä artikkelissa

2024-07-12

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

Nest Learning -sarja

✈️Aloita [NestJS] yhdellä artikkelilla
✈️Johdatus [NestJs]-ohjaimiin yhdessä artikkelissa

🚩 前言

NestJS:n maailmassa "palveluntarjoajien" ymmärtäminen on avain kestävien ja ylläpidettävien taustapalveluiden rakentamiseen. NestJS, nykyaikainen Node.js-kehys, ottaa käyttöön joitain Angular-ydinkonsepteja, kuten Dependency Injection (DI), ja soveltaa niitä palvelinpuolen kehitykseen. Tässä artikkelissa perehdytään NestJS:n Providers-mekanismiin, analysoidaan, kuinka se toimii ja miten niitä käytetään sovelluksesi optimointiin.

🚩什么是 Providers

NestJS:ssä Provider on mikä tahansa objekti, jota DI-säilö voi hallita ja lisätä. Se voi olla luokka, arvo, tehdasfunktio tai abstrakti käyttöliittymä. Palveluntarjoajien päätehtävänä on tarjota palveluita, arvoja tai tehtaita, jotka voidaan jakaa ja käyttää uudelleen muiden moduulien tai komponenttien kanssa.

Opin Nestin ohjaimesta edellisessä artikkelissa. Tämä artikkeli esittelee toisen tärkeän tietopisteen: palveluntarjoajat voidaan ymmärtää ohjaimen osana, joka tarjoaa palveluja, ja niitä voidaan myös kutsua palveluiksi.

🚩如何创建一个 service

nest g -palveluuutiset

Tämä on yksinkertainen palvelu, jolla on tällä hetkellä kaksi toimintoa: yksi on palauttaa luettelo kaikista uutisista ja toinen on luoda tietopala
Lisää kuvan kuvaus tähän
Lisää kuvan kuvaus tähän

🚩service如何为controller提供服务

riippuvuusruiske

Ensimmäinen vaihe: esittele vastaava palvelu ja vastaava liitäntätyyppi ohjaimessa

news.controller.ts

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

Vaihe 2: Injektoi rakentajan kautta (yksityinen uutispalvelu: uutispalvelu) {}

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

Vaihe 3: Käytä sitä vastaavassa pyyntösisustimessa

@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

Vaihe 4: Rekisteröidy osoitteessa 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

Johtopäätös

Mastering Providers NestJS:ssä tarkoittaa, että voit rakentaa paremmin modulaarisia ja skaalautuvia taustapalveluita. Käyttämällä Providers oikein voit helposti hallita riippuvuuksia ja parantaa koodin luettavuutta ja ylläpidettävyyttä. Rakennatpa sitten monimutkaista mikropalveluarkkitehtuuria tai yksinkertaista API-palvelua, NestJS:n DI-mekanismi on sinulle korvaamaton työkalu.