Skip to content

控制器

概述

控制器是MVC架构的核心,使用@Controller装饰器定义模块化路由

TIP

在配置了controllerPath后,会自动识别controllerPathindex.ts中默认导出的被Controller装饰器装饰的类作为控制器

参数

TIP

Mango控制器的参数继承于Elysia的Elysia实例参数,可参考文档

使用案例

ts
import { Controller } from 'mango-core'
import type { Context } from 'mango-types'

@Controller({
  name: '测试',
  prefix: '/test',
  detail: {
    description: '测试的接口',
    tags: ['test'],
  },
})
export class PostController {
  @Get('/')
  hello(ctx: Context) {
    return 'hello'
  }
}

参数

TIP

Mango的实现原理为将每个Controller就是一个Elysia实例,最后注册到根Elysia示例上

所以配置项与ElysiaOption一致