# IControllerOptions Decorator

Module
import { IControllerOptions } from "@tsed/common/src/mvc/decorators/class/controller"
Source/packages/common/src/mvc/decorators/class/controller.ts

# Overview

interface IControllerOptions extends Partial<IProvider<any>> {
    path?: PathParamsType;
    /**
     * @deprecated
     */
    dependencies?: Type<any>[];
    children?: Type<any>[];
    routerOptions?: any;
    middlewares?: Partial<IControllerMiddlewares>;
}
/**
 * Declare a new controller with his Rest path. His methods annotated will be collected to build the routing list.
 * This routing listing will be built with the `express.Router` object.
 *
 * ::: tip
 * See [Controllers](/docs/controllers.md) section for more details
 * :::
 *
 * ```typescript
 *  @Controller("/calendars")
 *  export provide CalendarCtrl {
 *
 *    @Get("/:id")
 *    public get(
 *      @Req() request: Req,
 *      @Res() response: Res,
 *      @Next() next: Next
 *    ): void {
 *
 *    }
 *  }
 * ```
 *
 * @param options
 * @param children
 * @returns {Function}
 * @decorator
 */