Olá, Nest
Parte da seção TypeScript e NestJS do Journey de Node.js da Coddy. Lição 1 de 17.
No Express, cada rota é uma função que você registra manualmente. O NestJS dá a cada parte de uma API sua própria classe, e os decoradores informam ao Nest o que cada classe faz.
@Controller('books')
export class BooksController {
@Get()
findAll() {
return [{ title: 'Dune' }];
}
}Um controlador responde às requisições de um caminho. @Controller('books') e @Get() são decoradores: rótulos que o Nest lê quando o app inicia. Juntos, eles mapeiam findAll para GET /books, e o Nest envia o que o método retorna como JSON com status 200. Um método sem decorador nunca é chamado.
Um módulo lista as classes que pertencem ao mesmo conjunto. src/main.ts chama NestFactory.create(AppModule); AppModule importa TasksModule, que lista TasksController. Em um laptop, você iniciaria o app com npm run start; aqui, o botão Run faz isso.
Desafio
Fácil- Adicione um método a
TasksControllerque responda aGET /taskscom o arraytasks. - Clique em Executar e envie
GET /taskse, em seguida,GET /taskpara ver o que um caminho sem rota responde.
Experimente você mesmo
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 },
];
// Adicione aqui um método que responda a GET /tasks com a lista.
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de TypeScript e NestJS
1Fundamentos do Nest
Olá, NestParâmetros de rota