Menu
CoddyTech

Merhaba, Nest

Coddy'nin Node.js Journey'sinin TypeScript ve NestJS bölümünün bir parçası. Ders 1 / 17.

Express'te her rota, elle kaydettiğin bir işlevdir. NestJS, bir API'nin her bölümüne kendi sınıfını verir ve dekoratörler Nest'e her sınıfın ne yaptığını söyler.

@Controller('books')
export class BooksController {
    @Get()
    findAll() {
        return [{ title: 'Dune' }];
    }
}

Denetleyici, bir yola gelen isteklere yanıt verir. @Controller('books') ve @Get() dekoratörlerdir: Nest'in uygulama başladığında okuduğu etiketlerdir. Birlikte findAll işlevini GET /books yoluna eşlerler ve Nest, yöntemin döndürdüğü değeri 200 durum koduyla JSON olarak gönderir. Dekoratörü olmayan bir yöntem hiçbir zaman çağrılmaz.

Modül, birlikte çalışan sınıfları listeler. src/main.ts, NestFactory.create(AppModule) çağrısını yapar; AppModule, TasksController sınıfını listeleyen TasksModule modülünü içe aktarır. Bir dizüstü bilgisayarda uygulamayı npm run start komutuyla başlatırdın; burada bunu Run yapar.

challenge icon

Görev

Kolay
  • tasks dizisiyle GET /tasks isteğine yanıt veren bir yöntemi TasksController sınıfına ekle.
  • Çalıştır düğmesine bas ve GET /tasks, ardından GET /task isteğini göndererek rotası olmayan bir yolun nasıl yanıt verdiğini gör.

Kendin dene

import { Controller } from '@nestjs/common';

interface Task {
    id: number;
    title: string;
    done: boolean;
}

@Controller('tasks')
export class TasksController {
    private tasks: Task[] = [
        { id: 1, title: 'Write the README', done: true },
        { id: 2, title: 'Fix the login bug', done: false },
        { id: 3, title: 'Plan the sprint', done: false },
    ];

    // Buraya GET /tasks isteğine listeyle yanıt veren bir metot ekleyin.
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

TypeScript ve NestJS bölümündeki tüm dersler