创建第一个 Controller
Controller(控制器)负责处理 HTTP 请求并返回响应。让我们创建一个简单的 API 接口。
什么是 Controller?
在 Midway 中,Controller 是一个使用 @Controller() 装饰器标记的类,它的方法对应不同的 HTTP 路由。
查看示例代码
👉 打开右侧的 src/controller/home.controller.ts 文件。
您会看到一个基本的 Controller:
@Controller('/')export class HomeController { @Get('/') async home() { return 'Hello Midwayjs!'; }}代码解析
1. @Controller('/') 装饰器
- 定义这是一个控制器类
- 参数
'/'是路由前缀,所有方法的路由都会加上这个前缀
2. @Get('/') 装饰器
- 定义这是一个 GET 请求的处理方法
- 参数
'/'是具体的路由路径 - 完整路径 = 控制器前缀 + 方法路径 =
'/' + '/'='/'
3. 方法返回值
- 直接返回字符串,Midway 会自动处理响应
- 也可以返回对象,会自动转换为 JSON
动手实践:修改返回内容
尝试修改 home() 方法的返回值:
async home() { return 'Hello Midwayjs! 欢迎来到交互式教程!';}保存后,您应该能在预览窗口看到新的内容。
添加更多路由
让我们添加一个新的路由,返回 JSON 数据:
@Get('/info')async info() { return { name: 'Midway.js', version: '4.0', description: '一个面向未来的 Node.js 框架' };}这个接口会返回 JSON 格式的数据。
常用的 HTTP 方法装饰器
@Get()- 处理 GET 请求@Post()- 处理 POST 请求@Put()- 处理 PUT 请求@Del()- 处理 DELETE 请求@Patch()- 处理 PATCH 请求
小结
✅ Controller 使用 @Controller() 装饰器定义
✅ 路由使用 @Get(), @Post() 等装饰器声明
✅ 返回值自动处理为 HTTP 响应
✅ 支持返回字符串、对象等多种类型
下一节,我们将学习如何获取请求参数!
Files
Preparing Environment
- npm install
- npm run dev