Berbagi teknologi

Pengantar Penyedia [NestJs] dalam satu artikel

2024-07-12

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

Seri Pembelajaran Nest

✈️Memulai [NestJS] dalam satu artikel
✈️Pengantar Pengontrol [NestJs] dalam satu artikel

🚩 前言

Di dunia NestJS, memahami "Penyedia" adalah kunci untuk membangun layanan backend yang kuat dan dapat dikelola. NestJS, sebagai kerangka kerja modern untuk Node.js, mengadopsi beberapa konsep inti Angular, seperti Dependency Injection (DI), dan menerapkannya pada pengembangan sisi server. Artikel ini akan mempelajari mekanisme Penyedia di NestJS, menganalisis cara kerjanya, dan cara menggunakannya untuk mengoptimalkan aplikasi Anda.

🚩什么是 Providers

Di NestJS, Penyedia adalah objek apa pun yang dapat dikelola dan dimasukkan oleh kontainer DI. Ini bisa berupa kelas, nilai, fungsi pabrik, atau antarmuka abstrak. Peran utama Penyedia adalah menyediakan layanan, nilai, atau pabrik, yang dapat dibagikan dan digunakan kembali oleh modul atau komponen lain.

Saya mempelajari tentang Pengontrol Nest di artikel sebelumnya. Artikel ini memperkenalkan poin pengetahuan penting lainnya: penyedia; penyedia dapat dipahami sebagai bagian dari Pengontrol yang menyediakan layanan, dan juga dapat disebut layanan.

🚩如何创建一个 service

berita layanan sarang g

Ini adalah layanan sederhana yang saat ini memiliki dua fungsi: satu untuk mengembalikan daftar semua berita, dan yang lainnya adalah untuk membuat sepotong data
Masukkan deskripsi gambar di sini
Masukkan deskripsi gambar di sini

🚩service如何为controller提供服务

injeksi ketergantungan

Langkah pertama: perkenalkan layanan yang sesuai dan jenis antarmuka yang sesuai di pengontrol

berita.pengendali.ts

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

Langkah 2: Suntikkan melalui konstruktor(private newsService: NewsService) {}

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

Langkah 3: Gunakan di dekorator permintaan yang sesuai

@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

Langkah 4: Daftar di 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

Kesimpulan

Menguasai Penyedia di NestJS berarti Anda dapat membangun layanan backend yang modular dan skalabel dengan lebih baik. Dengan menggunakan Penyedia dengan benar, Anda dapat dengan mudah mengelola dependensi dan meningkatkan keterbacaan dan pemeliharaan kode. Baik Anda sedang membangun arsitektur layanan mikro yang kompleks atau layanan API sederhana, mekanisme DI NestJS akan menjadi alat yang sangat diperlukan untuk Anda.