Hola, Nest
Parte de la sección TypeScript y NestJS del Journey de Node.js de Coddy. Lección 1 de 17.
En Express, cada ruta es una función que registras manualmente. NestJS asigna a cada parte de una API su propia clase, y los decoradores le indican a Nest qué hace cada clase.
@Controller('books')
export class BooksController {
@Get()
findAll() {
return [{ title: 'Dune' }];
}
}Un controlador responde a las solicitudes de una ruta. @Controller('books') y @Get() son decoradores: etiquetas que Nest lee cuando se inicia la aplicación. Juntos asignan findAll a GET /books, y Nest envía como JSON lo que devuelve el método, con el estado 200. Un método sin decorador nunca se llama.
Un módulo enumera las clases que pertenecen juntas. src/main.ts llama a NestFactory.create(AppModule); AppModule importa TasksModule, que enumera TasksController. En una laptop, lo iniciarías con npm run start; aquí lo hace Run.
Desafío
Fácil- Añade un método a
TasksControllerque responda aGET /taskscon el arreglotasks. - Pulsa Run y envía
GET /tasks, despuésGET /taskpara ver qué responde una ruta sin una ruta definida.
Pruébalo tú mismo
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 },
];
// Añade aquí un método que responda a GET /tasks con la lista.
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de TypeScript y NestJS
1Fundamentos de Nest
Hola, NestParámetros de ruta