装饰器列表
依赖注入
装饰器 | 类型 | 描述 |
---|---|---|
@Provide() | 类 | 将类标识为可注入并绑定到容器 |
@Inject() | 属性、构造器参数 | 注入依赖 |
@MultiInject() | 属性、构造器参数 | 注入多个依赖,数组形式 |
@Optional() | 属性、构造器参数 | 与 @Inject() 配合使用,依赖不存在时注入不会抛出异常 |
@InjectContainer() | 属性、构造器参数 | 注入主容器实例 |
@InjectApp() | 属性、构造器参数 | 注入当前的应用实例 |
@InjectAppConfig() | 属性、构造器参数 | 注入当前的应用配置 |
@InjectCtx() | 属性、构造器参数 | 注入当前的请求上下文,仅请求作用域的依赖可以使用 |
核心组件
装饰器 | 类型 | 描述 |
---|---|---|
@Config() | 类 | 声明配置类 |
@Middleware() | 类 | 声明中间件类,自动绑定到容器且作用域为 DeferredTransient |
@UseMiddlewares() | 类、方法 | 声明为控制器或路由方法应用的中间件列表 |
@Guard() | 类 | 声明守卫类,自动绑定到容器且作用域为 DeferredTransient |
@UseGuards() | 类、方法 | 声明为控制器或路由方法应用的守卫列表 |
@UseGuardsOr() | 类、方法 | 声明为控制器或路由方法应用的守卫列表,其中有任一一个守卫通过则视为通过 |
@ResponseHandler() | 类 | 声明响应处理器类,自动绑定到容器且作用域为 DeferredTransient |
@ExceptionHandler() | 类 | 声明异常处理器类,自动绑定到容器且作用域为 Singleton |
@Plugin() | 类 | 声明插件类,自动绑定到容器且作用域为 Singleton |
Web
装饰器 | 类型 | 描述 |
---|---|---|
@Controller() | 类 | 声明控制器类,自动绑定到容器且作用域为 Deferred |
@Service() | 类 | 声明服务类,自动绑定到容器且作用域为 Deferred |
@Get() | 方法 | 为路由方法设置 HTTP Method 为 GET 的路由 |
@Post() | 方法 | 为路由方法设置 HTTP Method 为 POST 的路由 |
@Put() | 方法 | 为路由方法设置 HTTP Method 为 PUT 的路由 |
@Patch() | 方法 | 为路由方法设置 HTTP Method 为 PATCH 的路由 |
@Delete() | 方法 | 为路由方法设置 HTTP Method 为 DELETE 的路由 |
@Head() | 方法 | 为路由方法设置 HTTP Method 为 HEAD 的路由 |
@Options() | 方法 | 为路由方法设置 HTTP Method 为 OPTIONS 的路由 |
@All() | 方法 | 为路由方法设置 HTTP Method 为全部的路由 |
@Param() | 参数 | 声明被装饰参数为请求 url param |
@Query() | 参数 | 声明被装饰参数为请求 url query |
@Body() | 参数 | 声明被装饰参数为请求 body |
@FormFile() | 参数 | 声明被装饰参数为请求的上传文件 |
@Header() | 参数 | 声明被装饰参数为请求头 |
@UserAgent() | 参数 | 声明被装饰参数为请求头的 user-agent |
@Referer() | 参数 | 声明被装饰参数为请求头的 referer |
@Cookie() | 参数 | 声明被装饰参数为请求头的 cookie |
@Session() | 参数 | 声明被装饰参数为请求 session |
@Host() | 参数 | 声明被装饰参数为请求 host |
@Url() | 参数 | 声明被装饰参数为请求 url |
数据校验
装饰器 | 类型 | 描述 |
---|---|---|
@FromParam() | 属性 | 声明 DTO 字段来源为 url param |
@FromQuery() | 属性 | 声明 DTO 字段来源为 url query |
@FromBody() | 属性 | 声明 DTO 字段来源为 body |
@IsFile() | 属性 | 声明 DTO 字段类型为上传文件 |
@Contract() | 方法 | 声明路由方法的请求和响应 DTO 以供数据校验 |
@Data() | 参数 | 声明被装饰参数为已经过校验和转换的数据 |
反射
装饰器 | 类型 | 描述 |
---|---|---|
@InjectReflector() | 属性、构造器参数 | 注入反射器,用于反射获取当前的中间件/守卫/响应处理器被应用到的控制器及其路由方法 |
@SetMetadata() | 类、方法 | 设置元数据 |