nestjs todo
时间: 2023-09-29 22:06:38 浏览: 123
NestJS 是一个基于 Node.js 平台的开发框架,它使用 TypeScript 编写,提供了一个基于模块化的结构,使得开发者可以轻松地构建可扩展的应用程序。
下面是一个简单的 Todo 应用程序的 NestJS 实现:
1. 首先,创建一个新的 NestJS 应用程序:
```
npm i -g @nestjs/cli
nest new todo-app
```
2. 创建一个 Todo 模块:
```
nest g module todo
```
3. 在 Todo 模块中创建一个 Todo 控制器:
```
import { Controller, Get } from '@nestjs/common';
@Controller('todo')
export class TodoController {
@Get()
findAll(): string {
return 'This is the list of all todos';
}
}
```
4. 在 Todo 模块中创建一个 Todo 服务:
```
import { Injectable } from '@nestjs/common';
@Injectable()
export class TodoService {
private todos = [
{ id: 1, title: 'Learn NestJS' },
{ id: 2, title: 'Build a Todo app' },
];
findAll() {
return this.todos;
}
findById(id: number) {
return this.todos.find((todo) => todo.id === id);
}
}
```
5. 在 Todo 控制器中使用 Todo 服务:
```
import { Controller, Get, Param } from '@nestjs/common';
import { TodoService } from './todo.service';
@Controller('todo')
export class TodoController {
constructor(private todoService: TodoService) {}
@Get()
findAll(): string {
return this.todoService.findAll();
}
@Get(':id')
findById(@Param('id') id: string): string {
return this.todoService.findById(+id);
}
}
```
6. 最后,在应用程序的主模块中引入 Todo 模块:
```
import { Module } from '@nestjs/common';
import { TodoModule } from './todo/todo.module';
@Module({
imports: [TodoModule],
})
export class AppModule {}
```
7. 运行应用程序:
```
npm run start
```
现在,您可以访问 `http://localhost:3000/todo` 来获取所有 todo 列表,或者访问 `http://localhost:3000/todo/1` 获取 id 为 1 的 todo 项。
阅读全文