返回
NestJS 入门教程 - 创建 Controller 和路由
前端
2024-01-07 05:12:06
作为 NestJS 旅程的第四章,我们将深入探究 Controller 和路由的奥妙。在上一节中,我们了解了目录结构,现在是时候让我们的应用程序动起来了!
Controller - 路由的起点
在 NestJS 中,Controller 充当路由的入口点。它们负责处理 HTTP 请求,将数据转换并返回响应。创建 Controller 时,我们首先需要一个名为 @Controller()
的装饰器。该装饰器将类标记为一个 Controller,并允许我们指定路由的路径。例如:
import { Controller } from '@nestjs/common';
@Controller('user')
export class UserController {
// ...
}
在上面的示例中,我们的 UserController
负责处理 /user
路径的所有请求。
路由 - 映射请求和响应
现在,我们已经有了 Controller,我们需要定义路由。路由指定特定 HTTP 请求(例如 GET、POST)与特定方法的映射关系。我们使用 @Get()
, @Post()
, @Put()
等装饰器来定义路由。例如:
import { Controller, Get } from '@nestjs/common';
@Controller('user')
export class UserController {
@Get()
findAll(): string {
return 'This route returns all users.';
}
// ...
}
在上面的代码中,@Get()
装饰器定义了当收到 HTTP GET 请求时将调用 findAll()
方法。该方法将返回一个简单的字符串响应。
探索 NestJS 的强大功能
NestJS 提供了多种强大的功能,使 Controller 和路由的创建变得轻而易举。让我们探索其中一些:
- 依赖注入: NestJS 使用依赖注入管理 Controller 之间的依赖关系,使代码更易于维护和测试。
- 参数解析: 路由可以自动解析请求中的参数并将其作为方法参数传递。
- 数据转换: NestJS 提供了内置的管道系统,用于转换请求和响应数据,确保类型安全。
结论
通过创建 Controller 和路由,我们为我们的 NestJS 应用程序奠定了基础。在下一章中,我们将深入探讨如何使用服务提供业务逻辑。与此同时,如果您有任何疑问或需要进一步的指导,请随时向我们寻求帮助!