NESTJS in minutes

NestJS Temel Kavramları NestJS, Node.js tabanlı, ölçeklenebilir ve test edilebilir sunucu taraflı uygulamalar geliştirmek için modern bir framework'tür. İşte öne çıkan 10 temel kavram: 1. Nest CLI (Command Line Interface - Komut Satırı Arayüzü) Nedir? Nest CLI, projeleri hızlıca başlatmak ve modül, controller, service gibi yapıları otomatik oluşturmak için kullanılır. Örnek Kullanım: nest new proje-adi nest generate module kullanicilar 2. Decorator'lar (Dekoratörler) Nedir? Sınıflara ve metodlara ek işlevsellik kazandırmak için kullanılan özel fonksiyonlardır. Örnek Kullanım: @Controller('urunler') export class UrunlerController { @Get() tumUrunleriGetir(): string { return 'Tüm ürünler listesi'; } } 3. Modüller (Modules) Nedir? Uygulamanın parçalarını düzenlemek için kullanılır. Her modül ilgili controller ve service'leri içerir. Örnek: UrunlerModule, SiparislerModule, KullanicilarModule gibi. 4. Controller'lar (Kontrolcüler) Nedir? Gelen HTTP isteklerini alır ve yanıt döner. Uygulamanın dış dünya ile bağlantı noktasıdır. Örnek: @Get(), @Post(), @Put() gibi decorator’larla HTTP metodları tanımlanır. 5. Provider'lar (Sağlayıcılar) Nedir? @Injectable() ile işaretlenen, genellikle servisleri temsil eden sınıflardır. Örnek Kullanım: @Injectable() export class UrunlerService { private readonly urunler = ['Kitap', 'Kalem']; findAll(): string[] { return this.urunler; } } 6. Dependency Injection (Bağımlılık Enjeksiyonu) Nedir? Sınıfların ihtiyaç duyduğu bağımlılıkların dışarıdan sağlanması prensibidir. Örnek Kullanım: constructor(private readonly urunlerService: UrunlerService) {} 7. Testing (Test Etme) Nedir? NestJS, unit ve entegrasyon testlerini kolaylaştıran yapılar sunar. Kod kalitesi için önemlidir. 8. Exception Handling (İstisna Yönetimi) Nedir? HTTP hatalarını yönetmek için HttpException ve özel filtreler kullanılır. Örneğin, NotFoundException 404 döner. 9. Pipe'lar (Borular) Nedir? Gelen verileri dönüştürmek veya doğrulamak için kullanılır. Örnek Kullanım: @Get(':id') kullaniciGetir(@Param('id', ParseIntPipe) id: number) { return `Kullanıcı ID: ${id}`; } 10. Guard'lar (Koruyucular) Nedir? Bir isteğin işlenip işlenmeyeceğine karar verir. Genellikle kimlik doğrulama ve yetkilendirme için kullanılır.

May 7, 2025 - 16:41
 0
NESTJS in minutes

NestJS Temel Kavramları

NestJS, Node.js tabanlı, ölçeklenebilir ve test edilebilir sunucu taraflı uygulamalar geliştirmek için modern bir framework'tür. İşte öne çıkan 10 temel kavram:

1. Nest CLI (Command Line Interface - Komut Satırı Arayüzü)

Nedir?
Nest CLI, projeleri hızlıca başlatmak ve modül, controller, service gibi yapıları otomatik oluşturmak için kullanılır.

Örnek Kullanım:

nest new proje-adi
nest generate module kullanicilar

2. Decorator'lar (Dekoratörler)

Nedir?
Sınıflara ve metodlara ek işlevsellik kazandırmak için kullanılan özel fonksiyonlardır.

Örnek Kullanım:

@Controller('urunler')
export class UrunlerController {
  @Get()
  tumUrunleriGetir(): string {
    return 'Tüm ürünler listesi';
  }
}

3. Modüller (Modules)

Nedir?
Uygulamanın parçalarını düzenlemek için kullanılır. Her modül ilgili controller ve service'leri içerir.

Örnek:
UrunlerModule, SiparislerModule, KullanicilarModule gibi.

4. Controller'lar (Kontrolcüler)

Nedir?
Gelen HTTP isteklerini alır ve yanıt döner. Uygulamanın dış dünya ile bağlantı noktasıdır.

Örnek:
@Get(), @Post(), @Put() gibi decorator’larla HTTP metodları tanımlanır.

5. Provider'lar (Sağlayıcılar)

Nedir?
@Injectable() ile işaretlenen, genellikle servisleri temsil eden sınıflardır.

Örnek Kullanım:

@Injectable()
export class UrunlerService {
  private readonly urunler = ['Kitap', 'Kalem'];

  findAll(): string[] {
    return this.urunler;
  }
}

6. Dependency Injection (Bağımlılık Enjeksiyonu)

Nedir?
Sınıfların ihtiyaç duyduğu bağımlılıkların dışarıdan sağlanması prensibidir.

Örnek Kullanım:

constructor(private readonly urunlerService: UrunlerService) {}

7. Testing (Test Etme)

Nedir?
NestJS, unit ve entegrasyon testlerini kolaylaştıran yapılar sunar. Kod kalitesi için önemlidir.

8. Exception Handling (İstisna Yönetimi)

Nedir?
HTTP hatalarını yönetmek için HttpException ve özel filtreler kullanılır. Örneğin, NotFoundException 404 döner.

9. Pipe'lar (Borular)

Nedir?
Gelen verileri dönüştürmek veya doğrulamak için kullanılır.

Örnek Kullanım:

@Get(':id')
kullaniciGetir(@Param('id', ParseIntPipe) id: number) {
  return `Kullanıcı ID: ${id}`;
}

10. Guard'lar (Koruyucular)

Nedir?
Bir isteğin işlenip işlenmeyeceğine karar verir. Genellikle kimlik doğrulama ve yetkilendirme için kullanılır.