Знакомство с Nest
Часть раздела TypeScript и NestJS путешествия по Node.js на Coddy. Урок 1 из 17.
В Express каждый маршрут — это функция, которую вы регистрируете вручную. NestJS предоставляет каждой части API собственный класс, а декораторы сообщают Nest, что делает каждый класс.
@Controller('books')
export class BooksController {
@Get()
findAll() {
return [{ title: 'Dune' }];
}
}Контроллер обрабатывает запросы к одному пути. @Controller('books') и @Get() — это декораторы: метки, которые Nest считывает при запуске приложения. Вместе они связывают findAll с GET /books, а Nest отправляет возвращаемое методом значение в формате JSON со статусом 200. Метод без декоратора никогда не вызывается.
Модуль перечисляет классы, которые относятся к одной группе. src/main.ts вызывает NestFactory.create(AppModule); AppModule импортирует TasksModule, в котором перечислен TasksController. На ноутбуке вы бы запустили его командой npm run start; здесь это делает кнопка Run.
Задание
Легко- Добавь метод в
TasksController, который отвечает массивомtasksна запросGET /tasks. - Нажми Запустить и отправь запрос
GET /tasks, а затемGET /task, чтобы увидеть, что отвечает путь без маршрута.
Попробуйте сами
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 },
];
// Добавьте здесь метод, который возвращает список в ответ на GET /tasks.
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела TypeScript и NestJS
1Основы Nest
Знакомство с NestПараметры маршрута